加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

unix – iconv unicode未知输入格式

发布时间:2020-12-16 01:08:39 所属栏目:安全 来源:网络整理
导读:我有一个在Unix下描述的文件: $file xxx.csv xxx.csv: UTF-8 Unicode text,with very long lines 用less / vi查看它会使一些特殊的字符(??°…)不可读(├╝); Windows也不会显示它;将其直接导入数据库只会将特殊字符更改为其他一些特殊字符(?,?,…). 我想现
我有一个在Unix下描述的文件:
$file xxx.csv 
xxx.csv: UTF-8 Unicode text,with very long lines

用less / vi查看它会使一些特殊的字符(??°…)不可读(├╝); Windows也不会显示它;将其直接导入数据库只会将特殊字符更改为其他一些特殊字符(?,?,…).

我想现在将它转换为带有iconv的“默认可读”编码.
当我尝试用iconv转换它时

$iconv -f UTF-8 -t ISO-8859-1 xxx.csv > yyy.csv
iconv: illegal input sequence at position 1234

使用UNICODE作为输入,UTF-8作为输出将返回相同的消息

我猜这个文件有些编码用另一种我不知道的格式 – 我怎么能找出哪种格式才能将它转换成“普遍”可读的东西……

只有当您的UTF-8文本只有可以用ISO-8859-1表示的字符时,才能从UTF-8转换为ISO-8859-1.如果不是这种情况,您应该指定这些字符需要发生什么,忽略(// IGNORE)或近似(// TRANSLIT)它们.尝试以下两种方法之一:
iconv -f UTF-8 -t ISO-8859-1//IGNORE --output=outfile.csv inputfile.csv
iconv -f UTF-8 -t ISO-8859-1//TRANSLIT --output=outfile.csv inputfile.csv

在大多数情况下,我猜近似是最佳解决方案,例如重音字符给他们的非重音对手,欧元签到欧元等等……

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读