首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将存储为LATIN1 ( sql )的西里尔字母转换成真正的UTF8西里尔字母?

如何将存储为LATIN1 ( sql )的西里尔字母转换成真正的UTF8西里尔字母?
EN

Stack Overflow用户
提问于 2010-03-07 13:24:39
回答 1查看 5.9K关注 0票数 4

我有一个由错误存储的西里尔俄文( WINDOWS-1251 )组成的SQL转储文件,例如Èðàíñêèå,它应该正确地显示为Иранские

在过去,我成功地转换了sql文件,但是内存在我所做的事情和顺序上失败了。

从逻辑上讲,由于它存储在LATIN1中,所以我将从LATIN1转换为WINDOWS-1251,然后从WINDOWS-1251转换到UTF-8/TRANSLIT或类似的东西。

到目前为止,我已经尝试过:

1.

代码语言:javascript
复制
iconv -f WINDOWS-1251 -t UTF-8//TRANSLIT -o new.sql snippet.sql

输出:

Èðàíñêèå (不是我想要的)

2.

代码语言:javascript
复制
iconv -f LATIN1 -t UTF-8//TRANSLIT -o new.sql snippet.sql 

输出:

Ã<88>ðàíñêèå (也不是我想要的)

Notes

  • 可能已经转换了一次和两次以获得我想要的结果,但我非常肯定,在最后一步,我从WINDOWS-1251转换为UTF-8//TRANSLIT,因为这是写在我的笔记中的。

  • 的另一个注意事项是,当文件编码为utf8 (在vim中本机)时,我将在utf8文件中查看Èðàíñêèå。如果我在vim中做了set enc=latin1,那么我就看到了~Hð| íñêèå,好像这并没有使它更加混乱。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-07 13:41:26

代码语言:javascript
复制
iconv -f utf-8 -t latin1 < in.sql | iconv -f cp1251 -t utf-8 > out.sql
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2396376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档