如何ASCII编码转换为UTF8在PHP转换ASCII到UTF8编码
回答
ASCII是UTF-8的一个子集,因此,如果一个文件是ASCII那么它已经是UTF8。
使用 函数utf8_encode()
手册页可以在这里找到http://php.net/manual/en/function.utf8-encode.php
还可以阅读这篇文章,从乔尔的软件。它提供了一个很好的解释,说明什么是Unicode以及它是如何工作的。 http://www.joelonsoftware.com/articles/Unicode.html
utf8_encode被设计为将latin-1编码为utf-8。仅适用于latin-1(即ISO-8859-1)。 – Dmitri 2011-02-13 14:50:36
如果您确定您当前的编码是纯ASCII,那么您不必执行任何操作,因为ASCII已经是有效的UTF-8。
但是,如果你还是要转换,只是为了确保它的UTF-8,那么你可以使用的iconv
$string = iconv('ASCII', 'UTF-8//IGNORE', $string);
的忽略将放弃任何无效字符,以防万一有些人没有有效的ASCII。
我一直把“IGNORE”理解为自动/隐含错误。 – tchrist 2011-02-13 19:22:31
“ASCII是UTF-8的子集,所以...” - 所以UTF-8是集合? :)
换句话说:任何字符串code points
从X00建立到0x7F部分具有ASCII和UTF-8没有区别表示(字节序列)。转换这样的字符串是毫无意义的。
这里的关键短语是“从x00到x7F的代码点”。如果你的“ASCII”代码点从x10到xFF,那么你需要做更多的工作。 – Azeroth2b 2017-03-29 14:29:10
使用mb_convert_encoding将ASCII转换为UTF-8。更多信息here
$string = "chárêctërs";
print(mb_detect_encoding ($string));
$string = mb_convert_encoding($string, "UTF-8");
print(mb_detect_encoding ($string));
用iconv看起来像最好的解决办法,但我我来说,我必须注意形成这样的功能:“检测到输入字符串非法字符中”(不igonore)。 我用2个函数来处理ASCII字符串将其转换为ASCII码数组,然后连载:谨慎
public static function ToAscii($string) {
$strlen = strlen($string);
$charCode = array();
for ($i = 0; $i < $strlen; $i++) {
$charCode[] = ord(substr($string, $i, 1));
}
$result = json_encode($charCode);
return $result;
}
public static function fromAscii($string) {
$charCode = json_decode($string);
$result = '';
foreach ($charCode as $code) {
$result .= chr($code);
};
return $result;
}
- 1. 从UTF8到ASCII的转换
- 2. Apache编码ascii到utf8
- 3. Python将html ascii编码的文本转换为utf8
- 4. ASCII码转换
- 5. 无法从UTF8转换为ASCII
- 6. 转换ASCII JSON为utf8在python
- 7. 将扩展ascii转换为utf8
- 8. 从UTF8转换为Java中的ASCII
- 9. 转换重音UTF8编码使用PHP
- 10. iPhone - 从WindowsCP1251转换NSString编码为UTF8
- 11. 无法转换UTF8编码HttpResponseMessage
- 12. 解压UTF8到ASCII
- 13. 如何将属性值从UTF8转换到ASCII蚂蚁
- 14. VB.NET转换的Unicode 8(UTF8)到普通美国ASCII
- 15. VBA:Unicode到ASCII转换?
- 16. 将utf8代码点字符串转换为utf8 <U+0161>转换为utf8
- 17. 转换编码在PHP中不转换ASCII和UTF-8之间
- 18. 百分比编码UTF-8到Ascii(8位)转换
- 19. LATIN1到UTF8转换问题
- 20. python-scrapinghub,ascii/utf8?
- 21. UTF8转换
- 22. 将ASCII编码转换为它的ASCII字符代码 - C(不打印!)
- 23. C++ UTF8编码
- 24. utf8和编码
- 25. C#UTF8编码
- 26. UTF8编码含+
- 27. UTF8编码/€
- 28. 从ASCII到NetCDF的转换
- 29. PHP UTF-16到ASCII转换
- 30. 如何将utf8字符串转换为ascii字符串?
字,如果ASCII“伸长” ASCII,那么你可能会遇到的问题。 https://en.wikipedia.org/wiki/Extended_ASCII – Azeroth2b 2017-03-29 14:26:48