如何在PHP中将ASCII编码转换为UTF8
ASCII是UTF-8的子集,因此如果文档是ASCII格式,则已经是UTF-8格式。
如果您确定当前的编码纯粹是ASCII,那么您无需进行任何操作,因为ASCII已经是有效的UTF-8编码。
但是如果您仍然想要转换,以确保其为UTF-8编码,那么您可以使用iconv。
$string = iconv('ASCII', 'UTF-8//IGNORE', $string);
< p > IGNORE 会丢弃任何无效字符,以防一些字符不是有效的 ASCII 字符。 < /p >使用mb_convert_encoding将ASCII转换为UTF-8。更多信息请参见此处
$string = "chárêctërs";
print(mb_detect_encoding ($string));
$string = mb_convert_encoding($string, "UTF-8");
print(mb_detect_encoding ($string));
ASCII
和 UTF-8
),并返回第一个所有字节都有赋值的编码。以可靠的方式编程检测文本编码就像检测一张图片是否有猫一样困难。 - Álvaro González"ASCII是UTF-8的子集,所以..." - 因此UTF-8是一个“集合”? :)
换句话说:任何由x00到x7F的"编码点(code points)"构建的字符串在ASCII和UTF-8中具有不可区分的"表示形式(representations)"(字节序列)。转换这样的字符串是没有意义的。
使用utf8_encode()
可以在这里找到man页面 http://php.net/manual/en/function.utf8-encode.php
还可以阅读Joel on Software的这篇文章。它提供了一个关于Unicode是什么以及它如何工作的优秀解释。http://www.joelonsoftware.com/articles/Unicode.html