包含文件的UTF - PHP

时间:2014-12-01 11:07:59

标签: php utf-8

我从单独的文件中包含我的lang。因为它是翻译我需要它是UTF8中的代码,我怎么试着显示D tumvytvoreniapr padu而不是Datumvytvořenípřípadu

看起来像:

<html>
<head>
<meta charset="utf-8"> 
</head>
<body></body>
</html>

<?php
header('Content-Type: text/html; charset=utf-8');
$lang = array();

//All
$lang['YES'] = 'Áno';
$lang['NO'] = 'Nie';
$lang['NOT_AVALIABLE'] = 'Nie je k dispozícii';
$lang['CURRENCY'] = 'Mena';
.........

之后我只是在课堂上称它为:

  public function fetchByVinAxnmrss($con) {
     $success = false;
    include_once 'languages/'.$lang_file; 
     try{
            $sql = "SELECT * FROM axnmrs_cases WHERE vin = :vin ORDER BY date_created DESC LIMIT 60";
            $stmt = $con->prepare( $sql );
            $stmt->bindValue( "vin", $this->vin, PDO::PARAM_STR );
            $stmt->execute();
                while ($row = $stmt->fetch()){
                 echo  "<dt>".$lang['AXNMRS_CASE_CREATED_DATE']."</dt>";

我尝试了什么:

  • 类UTF8是正确的,因为如果我写的话,它在那里工作 直接包含lang文字的单词
  • 所有文件均以UTF-8编码保存
  • 尝试使用Meta adn PHP设置UTF8字符

我真的不知道我还能尝试什么。

1 个答案:

答案 0 :(得分:1)

您可以在显示字符串之前使用 htmlentities 功能。

$encodedString  = htmlentities($badString,ENT_QUOTES | ENT_IGNORE | ENT_SUBSTITUTE | ENT_DISALLOWED | ENT_HTML401 | ENT_XML1 | ENT_XHTML | ENT_HTML5, "ISO-8859-1");

对于欧洲单词,您需要使用 ISO-8859-1 对字符串进行编码,以便您可以参考其他语言字符 这个php参考上支持的字符集表

http://php.net/manual/en/function.htmlentities.php