Wednesday, April 8, 2009

MySQL与空格、中文的不解之缘

学了那么久数据库, 昨天才开始用MySQL折腾, 我忏悔. 结果刚用上就遇到很多问题, 第一个比较难解决的就是中文问题, 待我从头说起.

这件事情的起因是我想批量把数据导入到表中, 于是用了LOAD DATA LOCAL, 结果居然编译的时候没有开启这个功能... 在这篇文档的说明下, 发现需要添加--enable-local-infile编译参数, 于是又重新编译安装了一次. 然后继续导入, 还是出错, 怀疑是数据文件中用的是空格而不是tab分隔的关系, 又把空格全部替换为tab. 依然不能通过, 这次貌似是中文问题, 好吧, 我去Google, 又在另一篇文档中找到了解决, 这次需要修改MySQL的配置文件, 在其中的[mysql]组中添加default-character-set = utf8. 这样总算行了吧? 非也, 还是有错. 又把思路放在了那些tab上, 是不是只能有一个tab啊? 因为我用的是两个. 结果只保留一个之后, 我靠, 真的就行了! 这也太变态了吧, 不能用空格也就算了, tab还只能用一个, 多了少了都不行, 这下总算见识了.

2 comments: