繁体   English   中英

PHP字符编码错误:如何实现?

[英]PHP Character Encoding Error: How they do it?

问题:

我有一个Textarea,除了XML作为内容并发布到服务器。 如果所有的Ascii字符都在那儿,则可以正常工作,但是当我们将数据放入希伯来语时,则simplexml_load_string无法加载数据,从而提示无效XML,因为数据编码破坏了数据的发布。

我做了什么:

  1. 我已经设置了UTF-8的HTML元标记,我确实将php header设置为内容为UTF-8
  2. 我将MySQL设置为'SET NAMES utf8
  3. print_r(iconv_get_encoding('all')); 它将所有三个值打印为ISO-8859-1
  4. 当我打印$_POST它在浏览器上也可以很好地显示希伯来字符(也可以在浏览器视图源上),但是功能仍然失败。

  5. 当我更改php.ini以使iconv编码为UTF-8时,一切都再次正常。

但是:同一台服务器确实有运行希伯来语网站的数百个Wordpress安装,并且它们没有这种问题。

因此,我的问题是:为什么我的代码会失败,但是wordpress或任何其他开源软件在编码时都可以正常工作。 我确实尝试将iconv设置为utf-8作为第一个可执行行,但对我来说没有任何变化。

不确定我能否很好地解释我的问题,我的问题是否明确,如果没有,请告诉我。 谢谢。

编辑:我确实尝试过utf8_encodeutf8_decode函数,但它们也失败了。

您需要使用mb_internal_encoding('UTF-8')告诉php您正在使用哪种编码。 这样,您将覆盖php.ini中的设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM