我正在使用PHP来显示一些外语文本。
echo '<li> NO ENGLISH </li>';
显示用我用的PHP编写的非英语语言:
header('Content-Type: text/html; charset=windows-1255');
但是当我从表单中获取已发布的变量并尝试回显它们时,它会显示垃圾。 我注意到设置下一个标题,修复它:
header('Content-Type: text/html; charset=UTF-8');
此标题正确显示,但无法显示第一个示例。
如何在同一个文件中组合这些不同的标题设置。?
答案 0 :(得分:1)
您不能在单个文档中混合编码。整个文档必须采用一个相干编码,其中只有一个标头集表示此编码。如果您从多个来源收到不同编码的字符串,请使用mb_convert_encoding
或iconv
将其转换为统一编码(最好是UTF-8)。
如果您的'<li> NO ENGLISH </li>'
只是保存在源代码文件中的硬编码文本,请在文本编辑器中以不同的编码保存文件。请参阅UTF-8 all the way through和Handling Unicode Front To Back In A Web App。