在PHP中组合不同的标题用于非英语文本

时间:2013-08-13 07:52:17

标签: php encoding utf-8 content-type

我正在使用PHP来显示一些外语文本。

  echo '<li> NO ENGLISH </li>';

显示用我用的PHP编写的非英语语言:

header('Content-Type: text/html; charset=windows-1255');

但是当我从表单中获取已发布的变量并尝试回显它们时,它会显示垃圾。 我注意到设置下一个标题,修复它:

header('Content-Type: text/html; charset=UTF-8');

此标题正确显示,但无法显示第一个示例。

如何在同一个文件中组合这些不同的标题设置。?

1 个答案:

答案 0 :(得分:1)

您不能在单个文档中混合编码。整个文档必须采用一个相干编码,其中只有一个标头集表示此编码。如果您从多个来源收到不同编码的字符串,请使用mb_convert_encodingiconv将其转换为统一编码(最好是UTF-8)。

如果您的'<li> NO ENGLISH </li>'只是保存在源代码文件中的硬编码文本,请在文本编辑器中以不同的编码保存文件。请参阅UTF-8 all the way throughHandling Unicode Front To Back In A Web App