我需要将在Windows平台上创建的文件导入到在Centos服务器上创建并运行的MySQL 5.5数据库中。我在运行MySQL 5.5数据库服务器的OSX 10.9笔记本电脑上开发脚本。这些文件包含荷兰文本,因此他们可以在人名中添加重音字母。
我需要一种可靠的方法来确认导入在所有平台上都是正确的。
首次尝试:
LOAD DATA LOCAL INFILE
第二次尝试:
`
file $FILE | grep ISO-8859 >> /dev/null
NEEDCONVERSION=$(echo $1)
if [ "$NEEDCONVERSION == "0"]; then
iconv -f LATIN1 -t UTF8 $FILE > $CONVERTEDFILE
fi
我试过了:
iconv
的不同编码(UTF8-MAC与UTF8) - >唯一的区别是名称乱码的方式不同--default-character-set=utf8
添加到MySQL导入语句并确保字符排序正确),但它没有解决我的问题。更新:当我更改Sequel Pro查看OSX上的数据的方式时(基本上它会显示下面的命令),名称再次显示正常。使用Sequel Pro在Centos服务器上查看数据时,我不需要这样做。
set character_set_result=latin1;set character_set_client=latin1;
非常感谢任何帮助。
答案 0 :(得分:0)
由于我可以通过所描述的解决方法完成工作,因此我没有进一步调查。但事实证明,数据库的默认设置是' latin1'。这可能是线索。
即:character_set_database
设置为latin1