为什么编码在使用文件语言时不起作用?

时间:2014-01-24 07:14:29

标签: php character-encoding

我的网站上有一个名为tr.lang的语言文件 我在那里保存语言变量值。 我在我的html标题中使用它来显示土耳其字符:

<meta http-equiv="Content-Type" content="text/html; charset=latin-1" />

和tr示例:

<?php
define("RANK","Sıra");
define("NAME","İsim");
define("TRAFFIC","Hit");
define("POINTS","Puan");
define("COMMENTS","Mesajlar");
define("COMMENT","Mesaj");
define("BONUS","Üye Bonusu");
?>

没有数据库涉及到这一点,所以我的问题是如何正确显示这些字符。

注意:当我删除文件并且正确的值(没有变量)时,它可以正常工作,但当我将它们作为文件写入并在我的index.php的开头调用它时,它显示的字符如何?和 那可能是什么原因?

文件调用:

include_once("{$server_root}include-lng/tr.lang");

1 个答案:

答案 0 :(得分:1)

你有几个问题:

  1. Latin-1 是引用编码的简便方法,它的实际名称为iso-8859-1
  2. 拉丁语1 doesn't support all the characters needed for Turkish
  3. 在评论中,您说“编码是utf8”,因此您告诉浏览器尝试使用您实际未使用的编码来解码文本。
  4. 解决方案:

    1. 使用UTF-8(确保编辑器设置为以该编码保存)
    2. 告诉浏览器您使用的是UTF-8,而不是Latin-1