我查看了现有的答案,但我无法找到这种具体情况。如果我弄错了,请告诉我。
我最近开始使用PHP。我已经创建了结构和一切没有问题
Mi index就是这样的index.php,它的创建包括:
头
含量
页脚
我想让它成为多语言,我正在创建文件,所以我可以定义变量
$lang['TITLE'] = 'Título';
我使用echo
来显示这些变量并显示没有任何问题,即使使用特殊字符Título但我正在使用include
加载一个文件 content.html ,我遇到了编码错误:
换句话说,当文本是从echo
语句创建的时,所有内容都正确显示,但使用include
加载文件时,只有包含文件显示错误。
我已经尝试过多次使用CHARSET,但是,回显结果是否不正确或包含结果是否错误。
Las尝试过的事情是将服务设置为使用mb_
标准化UTF-8编码,但这样就不会显示特殊字符
inter é s = inters
非常感谢,请让我知道我的错误是什么或我能做些什么。
答案 0 :(得分:0)
您是include
个文件还是echo
文字没有任何区别。 PHP不会在这些操作中以任何方式进行任何编码转换或处理编码。它所做的就是直接输出源代码中的原始文本,不加改变。
如果一个文件中的文本有效,而另一个文件中的文本不起作用,则表示这些文件的编码方式不同。在文本编辑器中以相同的编码保存它们。
可能您在这两个文件中输出不同的Content-Type
标头,如HTML标签或其他方式。检查那种远程可能性。
如果您需要更多信息,请参阅What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text和Handling Unicode Front To Back In A Web App。