MySQL 插入中文不乱码的5种方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 插入中文不乱码的5种方法相关的知识,希望对你有一定的参考价值。


mysql 插入中文不乱码的5种方法:


方法一:

    登录MySQL,先做 set names latin1 ,然后在更新语句或者执行SQL语句

    

mysql> set names latin1;
mysql> source  test.sql;


方法二:

    在SQL文件中指定set names latin1;然后登录MySQL,执行相应文件

 

  
[[email protected] ~]# cat test.sql 
set names latin1;
insert *****************;
mysql> source  test.sql;

方法三:

    在SQL文件中指定set names latin1;然后通过MySQL命令导入


   

[[email protected] ~]# mysql -uroot -p123456 test <test.sql

    

方法四:

    通过指定MySQL命令的字符集参数实现--default-character-set=latin1

   

 
[[email protected] ~]# cat test.sql 
insert *****************;
[[email protected] ~]# mysql -uroot -p123456 --default-character-set=latin1 test <test.sql

     


方法五:推荐此方法,但是建议使用utf8

    在配置文件里设置客户端以及服务器端相关参数

    即修改my.cnf 客户端的模块参数,可以实现set names utf8,且永久生效

 

[client]
   default-character-set=utf8 
   无需重启MySQL,退出当前登录,重新登录即可
[server]
   default-character-set=utf8   5.1以前的版本  
   character-set-server=utf8   5.5版本



库表,程序!

CREATE DATABASE wyb  DEFAULT CHARACTER SET utf8 collate utf8_general_cli;



字符集含义总结表

mysql> show variables like ‘character_set%‘;
 
| character_set_client     |  utf8     #客户端字符集                      
| character_set_connection  |  utf8     #链接字符集                      
| character_set_database    |  utf8     #数据库字符集,配置文件指定或者创建时指定                      
| character_set_results    |  utf8     #返回结果字符集                         
| character_set_server     |  utf8     #服务器字符集,配置文件,或者创建库,表时候指定


本文出自 “crazy_sir” 博客,请务必保留此出处http://douya.blog.51cto.com/6173221/1787793

以上是关于MySQL 插入中文不乱码的5种方法的主要内容,如果未能解决你的问题,请参考以下文章

MySQL插入中文数据乱码问题

.sql导入中文显示乱码解决方法

mysql使用存储过程插入数据后,参数为中文的为?或乱码

mysql中文乱码问题

Java插入sql数据后,显示的中文不正确或乱码

Java插入sql数据后,显示的中文不正确或乱码