【发布时间】:2013-04-10 13:45:03
【问题描述】:
我有一个 utf8 编码的小问题。 我尝试编码的词是“kühl”。 所以它有一个特殊的字符。
当我在我得到的第一个文件中用 utf8 编码这个字符串时:
kühl
当我在第二个文件中用 utf8 编码这个字符串时,我得到:
ku�hl
使用 php utf8_encode() 我总是将第一个 (kühl) 作为输出,但我需要第二个作为输出 (kuÌ�hl)。
mb_detect_encoding 告诉我它是“UTF-8”,所以这并没有真正的帮助。
您有什么想法可以将第二个作为输出吗? 提前致谢!
【问题讨论】:
-
当我在 notepad++ 中检查 kühl 并选择 UTF-8 时,没问题。第二个好像很奇怪。
-
知道第二个可能是什么吗?我不明白为什么 mb_detect_encoding 告诉我它也是 UTF-8
-
我假设您的脚本文件是使用不同的字符编码保存的——因此在这两种情况下,您实际上并不是对相同的字节序列进行 UTF8 编码,而是对不同的字节序列进行编码。
-
也这么认为,但这不是问题。知道第二个可能是哪种编码吗?
-
在“kuÌ�hl”中,我看到一个 U+00CC“带有坟墓的拉丁大写字母 I”,后跟一个 U+FFFD“替换字符”;后者看起来像黑色菱形中的白色问号。无论您的字符串中有什么数据,其中一些数据在传输到我的浏览器的过程中都会丢失。
标签: php utf-8 character-encoding