解决方案 »
- 所有插入或者修改操作(一行记录中的aliastype)都会导致表的所有记录都被修改。
- 内网mysql数据库如何访问
- SQL compatibility mode
- c++connector的菜鸟问题
- Mysql data文件夹下的数据 能放到 新的系统 上直接 用么??
- mysqldump文件出错了!
- 一句超难的SQL查询语句怎么写
- 急~~~~~~~~~~~~~~~~~~~老版本mysql数据库数据想转出到sql server,怎么办???
- MYSQL连接问题
- MySQL max 4.01 alpha for win32版的到底支不支持事务??
- 数据库导出乱码问题
- MySQL表中每一条数据都有几个标签字段(比如:tag1,tag2,tag3)应该如何查询具体的一条?
然后建议尝试一下 gbk 或者 gb2312
或者直接用 mysql.exe 连接进去看一下中文是否正常。
+--------------------------+-----------------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | C:\NGBNView\mysql\share\charsets\ |
+--------------------------+-----------------------------------+
8 rows in set
mysql> show full columns from dbpolicy;
+-------------+--------------+-----------------+------+-----+---------+-------+---------------------------------+---------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+-------------+--------------+-----------------+------+-----+---------+-------+---------------------------------+---------+
| keystring | varchar(250) | utf8_general_ci | NO | PRI | | | select,insert,update,references | |
| valuestring | varchar(250) | utf8_general_ci | YES | | NULL | | select,insert,update,references | |
+-------------+--------------+-----------------+------+-----+---------+-------+---------------------------------+---------+
2 rows in set
直接用Navicat看,显示的是乱码mysql> SELECT * FROM dbpolicy;
+-------------------+--------------------------+
| keystring | valuestring |
+-------------------+--------------------------+
| ÅäÖùÜÀíÈÕÖ¾±¸·Ý4 | ConfigManageLogPolicy |
| Éú³ÉÀúÊ·ÐÔÄܱ¨±í1 | HistoryPerformanceReport |
| Éú³ÉÀúÊ·ÐÔÄܱ¨±í2 | HistoryPerformanceReport |
| Éú³ÉÀúÊ·ÐÔÄܱ¨±í3 | HistoryPerformanceReport |
+-------------------+--------------------------+
4 rows in set,但是到数据库bin下的mysql.exe下看是正常的,就上面第二个图片。
其他表中如果字符集是latin1的,即使有中文数据导出来的(无论是分文件或者一个文件)都能显示正常!
这个我试过了,就是问题会这样出现如果以前的latin1的数据全是英文的,那还好,没有乱码,但是我的数据库中有的字符集是latin1的表中又有中文数据,这样导入进去就出问题了……最后无奈之举就是:因为数据库的utf8的表比较少,所以在LOAD DATA前进行判断,如果是utf8的表则设置为set character_set_database=utf8,否则则设置为set character_set_database=latin1;数据库前期没规划好,后面就是一个坑……
--default-character-set=utf8,试试看下。
这个我试过了,就是问题会这样出现如果以前的latin1的数据全是英文的,那还好,没有乱码,但是我的数据库中有的字符集是latin1的表中又有中文数据,这样导入进去就出问题了……最后无奈之举就是:因为数据库的utf8的表比较少,所以在LOAD DATA前进行判断,如果是utf8的表则设置为set character_set_database=utf8,否则则设置为set character_set_database=latin1;数据库前期没规划好,后面就是一个坑……
是啊,一般数据库的字符集都是设置成utf8的。
而且有些特殊的,比如有符号的,必须设置成utf8mb4,参考下:http://blog.csdn.net/mchdba/article/details/38322561