我正在尝试将一堆文件从US-ASCII转码为UTF-8.
为此,我正在使用iconv:
iconv -f US-ASCII -t UTF-8 file.php > file-utf8.php
Run Code Online (Sandbox Code Playgroud)
事情是我的原始文件是US-ASCII编码,这使得转换不会发生.显然它会发生因为ASCII是UTF-8的一个子集......
引用:
在引入非ascii字符之前,不需要显示文本文件
真正.如果我在文件中引入非ASCII字符并保存它,那么假设使用Eclipse,文件编码(charset)将切换为UTF-8.
在我的情况下,我想强制iconv将文件转码为UTF-8.是否存在非ASCII字符.
注意:原因是我的PHP代码(非ASCII文件...)正在处理一些非ASCII字符串,这导致字符串不能很好地解释(法语):
Ilétait une fois ... l'hommesé©animéemythique d'Albert
Barillé(Procidis),1?
...
编辑
US-ASCII- 是 - 的一部分UTF-8(见下面Ned的回答)US-ASCII文件是在实际编码UTF-8我有一个UTF-8编码的db,混合了Latin-1.(我认为这就是问题)
这是角色在数据库中的外观.
İ (should be ?)
è
Run Code Online (Sandbox Code Playgroud)
当我将标题设置为
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
Run Code Online (Sandbox Code Playgroud)
然后角色出现:
?
?
Run Code Online (Sandbox Code Playgroud)
当我删除标题时,它们会在数据库中出现.我希望他们这样出来:
?
è
Run Code Online (Sandbox Code Playgroud)
如果可能的话,我正在寻找一种方法来解决这个问题.我目前无法纠正数据本身,这是正确的做法.