【问题标题】:Strange special character encoding error奇怪的特殊字符编码错误
【发布时间】:2010-08-09 11:59:29
【问题描述】:

我有一个非常奇怪的字符编码错误: 我通过 jQuerys ajax 函数将文本字段发送到脚本。 假设我想发送欧元符号

回声 $string;

生产

然而

echo base64_decode(base64_encode($string));

生产

关于如何调试此问题的任何提示?

【问题讨论】:

  • 这不是一个真实的例子,是吗?您在一个页面中对其进行编码,并在另一页面中对其进行解码,不是吗?在这种情况下,您需要告诉我们这些页面使用的字符集。
  • 我不相信你。 base64_decode(base64_encode($string)) 应该给 alays $string 回来。
  • 字符集肯定有问题,我记不太清了
  • 嗯,在 UTF-8 中,“€”表示为“e282ac”,而“€”在 ISO-8859-15 中表示为“e23fac”。因此,您正在更改某处的数据。

标签: php encoding character-encoding base64 special-characters


【解决方案1】:

但这不是一个真实世界的例子,是吗?您在一个页面中对其进行编码,并在另一页面中对其进行解码,不是吗?在这种情况下,您需要告诉我们这些页面使用的字符集。

Pekka 是对的,我的字符集混淆了,在我设置了全局 UTF8 字符集标头后,一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-01
    相关资源
    最近更新 更多