将Ã,É,è,ê,......等字符转换为常规的UTF-8格式

时间:2015-02-01 21:03:35

标签: sql bash utf-8

我转发了我的MySQL表,它们已经很老了,我和charsets搞得很乱。结果是,当我在新数据库中导入这个转储时,我的表格中的所有地方(以及标题中的那个)都有某种UTF8到ASCII字符,也在我生成的HTML页面中。

我制作了一个bash脚本来转换大部分字符:http://pastebin.com/fngz7qK2
但我并不喜欢这种强力转换。

我甚至不想弄清楚我的SQL表格有什么问题,但是我想知道是否有一种简单或标准的方法可以将这些奇怪的字符转换为更常规的字符?

1 个答案:

答案 0 :(得分:1)

如果源文本文件确实是双-utf8编码的(将utf8字符作为ISO-8859-1字符代码编号并使用utf8字符代码对字节序列转换算法进行编码),则对文件进行转换完全有效。尽管如此,您可能只需通过utf8-to-iso8859-1转换运行文本文件来反转无关的iso-8859-1-to-utf8转换,并将结果视为utf8。在linux上,您可能希望使用iconv -f utf8 -t latin1而不是ad-hoc转换。