Linux mysql 从文件导入数据 出现乱码
首先我的sql文件没乱码,(用ultraedit 管理员界面可以看到文件编码)
数据库编码和文件一致
解决方法:
进到mysql里面看看variables
mysql> show variables like “%char%”;
+————————–+——————————————–+
| Variable_name | Value |
+————————–+——————————————–+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/ |
+————————–+——————————————–+
8 rows in set (0.01 sec)
mysql> show variables like “%coll%”;
+———————-+——————-+
| Variable_name | Value |
+———————-+——————-+
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+———————-+——————-+
3 rows in set (0.00 sec)
有几个latin1_swedish_ci的,不是utf8
修改sql文件:
SET collation_connection = utf8_bin;
SET collation_database = utf8_bin;
SET collation_server = utf8_bin;
SET character_set_client = utf8;
SET character_set_connection = utf8;
然后再导入sql文件即可:
source /usr/distributation/basic_user_profile.sql