Łuk*_*nsz 16 linux iso suse utf-8 iconv
我的系统是SUSE Linux Enterprise Server 11.
我正在尝试将数据从utf-8格式转换为iso使用"iconv"
$>file test.utf8
test.utf8: UTF-8 Unicode text, with very long lines
$>
$>file -i test.utf8
test.utf8: text/plain charset=utf-8
$>
$>iconv -f UTF-8 -t ISO-8859-1 test.utf8 > test.iso
iconv: test.utf8:20:105: cannot convert
Run Code Online (Sandbox Code Playgroud)
你能帮我解释一下吗?谢谢.
cho*_*oba 20
您的输入文件包含Latin 1中不存在的字符.您可以使用该-c选项跳过它们:
iconv -c -futf8 -tl1 test.utf8 > test.iso
Run Code Online (Sandbox Code Playgroud)
有时最好同时使用-c和// TRANSLIT,例如
$ cat rodriguez
Rodr??guez
$ file rodriguez
rodriguez: UTF-8 Unicode text
$ iconv --unicode-subst="<U+%04X>" -f UTF-8 -t ISO-8859-1 rodriguez
Rodr<U+0131><U+0301>guez
$ iconv -f UTF-8 -t ISO-8859-1 rodriguez
Rodr
iconv: rodriguez:1:4: cannot convert
$ iconv -f UTF-8 -t ISO-8859-1//TRANSLIT rodriguez
Rodri
iconv: rodriguez:1:5: cannot convert
$ iconv -c -f UTF-8 -t ISO-8859-1 rodriguez
Rodrguez
$ iconv -c -f UTF-8 -t ISO-8859-1//TRANSLIT rodriguez
Rodriguez
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25565 次 |
| 最近记录: |