med*_*iev 4 sql character-encoding iconv
我有一个SQL转储文件,包含错误存储的西里尔俄语(WINDOWS-1251)文本,该示例Èðàíñêèå
应正确显示为????????
.
在过去,我已经成功转换了sql文件,但内存在我所做的和以什么顺序失败.
从逻辑上讲,它是有意义的,因为它存储在LATIN1中,我会从LATIN1转换为WINDOWS-1251,然后从WINDOWS-1251转换为UTF-8 // TRANSLIT或类似的东西.
到目前为止,我已经尝试过:
iconv -f WINDOWS-1251 -t UTF-8//TRANSLIT -o new.sql snippet.sql
Run Code Online (Sandbox Code Playgroud)
输出:
?€?°? ??±??????
(不是我想要的)
iconv -f LATIN1 -t UTF-8//TRANSLIT -o new.sql snippet.sql
Run Code Online (Sandbox Code Playgroud)
输出:
Ã<88>ðà Ãñêèå
(不是我想要的)
笔记
我可能已经转换了一次然后两次以获得我想要的结果,但我很确定在我转换的最后一步WINDOWS-1251
到UTF-8//TRANSLIT
我的笔记中记录的那一步.
另一个注意事项是,Èðàíñêèå
当文件编码为utf8(在vim中为native)时,我正在查看SQL文件.如果我set enc=latin1
在vim中做,那么我~Hð| íñêèå
认为这不会让它更加混乱.
iconv -f utf-8 -t latin1 < in.sql | iconv -f cp1251 -t utf-8 > out.sql
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4878 次 |
最近记录: |