[英]PHP Character Encoding Error: How they do it?
问题:
我有一个Textarea,除了XML作为内容并发布到服务器。 如果所有的Ascii字符都在那儿,则可以正常工作,但是当我们将数据放入希伯来语时,则simplexml_load_string
无法加载数据,从而提示无效XML,因为数据编码破坏了数据的发布。
我做了什么:
header
设置为内容为UTF-8
'SET NAMES utf8
。 print_r(iconv_get_encoding('all'));
它将所有三个值打印为ISO-8859-1
。 当我打印$_POST
它在浏览器上也可以很好地显示希伯来字符(也可以在浏览器视图源上),但是功能仍然失败。
当我更改php.ini以使iconv编码为UTF-8时,一切都再次正常。
但是:同一台服务器确实有运行希伯来语网站的数百个Wordpress安装,并且它们没有这种问题。
因此,我的问题是:为什么我的代码会失败,但是wordpress或任何其他开源软件在编码时都可以正常工作。 我确实尝试将iconv设置为utf-8作为第一个可执行行,但对我来说没有任何变化。
不确定我能否很好地解释我的问题,我的问题是否明确,如果没有,请告诉我。 谢谢。
编辑:我确实尝试过utf8_encode
和utf8_decode
函数,但它们也失败了。
您需要使用mb_internal_encoding('UTF-8')
告诉php您正在使用哪种编码。 这样,您将覆盖php.ini中的设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.