一、中文乱码
不论是Navicat、还是sqlyog,使用客户端连接数据库进行csv导入导出操作时总是容易出现中文乱码,每一次将就着解决了,换一下环境依然不知道该怎么办。
注意要操作的数据库表的字符集都是utf8
原因分析
导入导出的csv都是utf8编码,但win上用excel或wps打开或保存的都不是utf8编码,因此会出现乱码,如果用其他有UTF8编码编辑器打开显示并没有问题。
问题解决
为了方便数据库处理一般都使用excel处理数据,重点在处理完保存csv这一步。
- 如果是可以另存为csv utf8的excel,则直接另存为
- 如果是只有另存为普通csv的excel或wps,则在另存为普通csv后,再用记事本或其他编辑器打开另存为utf8格式的csv。
二、Loading local data is disabled; this must be enabled on both the client and server sides
右键通过导入使用本地加载的csv
导入csv数据时,如果导入127.0.0.1本地数据库时会报此错,而导入远程数据库正常。
临时解决办法
数据库重启后设置失效
mysql --local-infile=1 -u root -p
SET GLOBAL local_infile=1;
show global variables like 'local_infile';
永久解决办法
修改mysql配置文件,增加local_infile = 1