无法将编码从 us-ascii 转换为 utf-8。我搞砸了什么?

无法将编码从 us-ascii 转换为 utf-8。我搞砸了什么?

我正在尝试调试我的网页以外语呈现的垃圾字符。我希望我的 createpage.php 为 utf-8。

me@host:/www/webroot$ file -bi createpage.php
text/x-php; charset=us-ascii
me@host:/www/webroot$ iconv -f us-ascii -t utf-8 createpage.php > createpage_utf8.php
me@host:/www/webroot$ file -bi createpage_utf8.php
text/x-php; charset=us-ascii

rwx对目录和rw文件都有权限。我一定是瞎了眼——我到底搞砸了什么?是不是因为 ascii 是 utf-8 的子集,而我的 php 没有任何特殊字符(只有我使用的 ini 文件include),所以file -bi还是只报告 ascii?

答案1

仅使用纯 ASCII 字符的文件与 UTF8 无法区分,因为根据定义,7 位 ASCII 字符在 UTF8 中是 1 对 1 映射的。因此您的“转换”没有任何作用。

相关内容