问题:
我有一个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时,一切正常。
然而: 同一台服务器有100个Wordpress安装运行希伯来语网站,他们没有这样的问题。
所以,我的问题是:为什么我的代码失败但是wordpress或任何其他开源软件在编码时运行良好。我确实尝试将iconv设置为utf-8作为第一个可执行行,但对我来说没有任何改变。
我不确定我的问题解释得很好,我的问题很清楚,如果不是,请告诉我。感谢。
编辑:我确实尝试了utf8_encode
和utf8_decode
功能,但他们也失败了。
答案 0 :(得分:0)
您需要使用mb_internal_encoding('UTF-8')
告诉php您正在使用的编码。有了这个,你将覆盖php.ini中的设置。