php – 当浏览器将’ISO-8859-1’作为元字符集时,浏览器将页面检测为UTF-8

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 当浏览器将’ISO-8859-1’作为元字符集时,浏览器将页面检测为UTF-8脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在处理网站转移,在这过程中我的字符集被搞砸了.起初,我转移了所有文件而没有任何改动,新服务器上的文件显示<?>特殊字符的图标.浏览一下浏览器的字符编码(Chrome和FF)就告诉我它是自动检测UTF-8.页面的元字符集设置为ISO-8859-1.复制是从多个数据库中的各个表中提取的(不要问).

在原始网站上,所有显示应该.在新网站上,<?> …我挖到它,在PHP.ini中找到认的charset =“UTF-8”,将其设置为空.现在网站上的大部分页显示都很好,浏览器识别出Meta charset标签,每个人都很开心;也就是说,直到我导航到root下的文件夹.

这个文件夹中的文件,虽然它们的元字符集是ISO-8859-1,但它以某种方式告诉浏览器被读作UTF-8,这意味着我看到<?>在这页面上.如果我将浏览器设置为ISO-8859-1,那么它显示正常.自动检测将其重置为UTF-8.有任何想法吗?

谢谢!

更新(从下面的评论添加):

我按照martinstoeckli的建议在W3C checker上运行了页面,它告诉我HTTP内容类型是Content-tyPE:text / htML; charset = utf-8而Meta标签是< Meta http-equiv =“Content-Type”content =“text / html; charset = ISO-8859-1”/&amp;gt ;,这给了我一个冲突的字符编码声明错误.疯狂的是,我不能为我的生活弄清楚UTF-8声明的来!它在任何文件中都没有,所有文件都保存了UTF-8 w / out BOM,PHP.ini设置为声明没有认值,文件夹的.htaccess设置为像PatomaS建议的那样. (对于它的价值,Mozilla的Web Sniffer确认HTTP标题Content-Type of text / html; charset = utf-8.) 更新:
虽然我没有像我提出的那样找到解决这个问题的方法,但我确定解决我的字符编码问题的最佳方法是重构所有内容以使用UTF-8编码.当然,这可能意味着你会在这里看到我更多令人兴奋的新手问题,例如“为什么不会utf8-encode()做我的łâùñdr?”

当然,这意味着神秘感仍然存在:当看起来所有内容配置不同时,@R_512_2553@导致服务器发送UTF-8的HTTP Content-type字符集标题

解决方法

文件是否包含BOM(字节顺序标记).要确保使用记事本打开文件并选中“编码”菜单,您还可以选择转换为ansi作为测试选项.

BTW使用utf-8到处都是一个更好的长期方法,我可以建议.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 当浏览器将’ISO-8859-1’作为元字符集时,浏览器将页面检测为UTF-8全部内容,希望文章能够帮你解决php – 当浏览器将’ISO-8859-1’作为元字符集时,浏览器将页面检测为UTF-8所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。