【发布时间】:2012-07-31 17:53:08
【问题描述】:
作为mb_detect_encoding( ) 的第二个参数传递的首选字符编码顺序是什么。
我之所以这样问是因为某些字符编码与其他字符编码重叠,例如 UTF(在某些情况下)返回 ASCII 和 gb2312 的 EUC-CN,以及 EUC-CN、EUC-JP、EUC-KR、EUC-TW 中的任何一个传递给函数的序列中出现的较早的返回为简体中文 EUC-CN 兼容字符串。
以下是我收集的一些,但我想让列表尽可能全面。
EUC-CN
EUC-JP
EUC-KR
EUC-TW
SJIS
ASCII
JIS
UTF-8
EUC-JP
EUC-CN
EUC-KR
EUC-TW
SJIS
请帮助我更正顺序并使此列表尽可能大。
编辑 1:
我想要做的就是将任何字符串转换为 utf8。
编辑 2:
考虑到以下建议, 我想尽量减少在编码转换中浪费文本的可能性,因为转换后的文本是我的网站唯一依赖的东西。 所以,即使我使用的解决方案不是完美的。请您演示最可靠的解决方案吗?
【问题讨论】:
-
嗯,是的,许多编码彼此无法区分。这就是为什么准确的自动检测通常是不可能的。如您所见,此功能可能对少数候选人有用,但对大量候选人无用。在此之上,您需要一个统计文本分析器来提高准确性,这不是 PHP 内置的。你不应该一开始就使用编码检测。
标签: php utf-8 character-encoding mbstring