在mysql中将charset从UTF-8更改为ISO-8859-1

时间:2012-09-25 21:18:46

标签: mysql linux iconv

我开始研究一个遗留的mysql数据库,其整理:latin1-default但表是utf-8-default。即使使用utf-8(通用标准编码)提及表,它也不会呈现瑞典字符。似乎与此数据库编码相关的应用程序是ISO-8859-1。所以,我想将此数据库及其中的数据转换为ISO-8859-1编码。我试过这个命令

  iconv -f  UTF-8 -t ISO-8859-1   webtest_backu_01.sql > converted-file.sql

它给出了错误:位置上的非法输入序列

任何帮助表示赞赏。感谢。

1 个答案:

答案 0 :(得分:1)

请看一下这个链接:http://dev.mysql.com/doc/refman/5.0/en/charset-conversion.html

如果可能,您可以使用alter table命令对每个表进行此转换。我成功之前用过这个。

链接示例:

ALTER TABLE t MODIFY col1 CHAR(50) CHARACTER SET utf8;

同样重要的细节......如果列包含不在两个字符集中的字符,转换可能会有损...但我不认为ISO-8859-1为UTF-8。

尝试其中一个表并查看它是否有效。