MySQL插入中文不乱码的5种方法
方法一:
登录MySQL,先做setnameslatin1,然后在更新语句或者执行SQL语句
mysql>setnameslatin1; mysql>sourcetest.sql;
方法二:
在SQL文件中指定setnameslatin1;然后登录MySQL,执行相应文件
[root@localhost~]#cattest.sql setnameslatin1; insert*****************; mysql>sourcetest.sql;
方法三:
在SQL文件中指定setnameslatin1;然后通过MySQL命令导入
[root@localhost~]#mysql-uroot-p123456test<test.sql
方法四:
通过指定MySQL命令的字符集参数实现--default-character-set=latin1
[root@localhost~]#cattest.sql insert*****************; [root@localhost~]#mysql-uroot-p123456--default-character-set=latin1test<test.sql
方法五:推荐此方法,但是建议使用utf8
在配置文件里设置客户端以及服务器端相关参数
即修改my.cnf客户端的模块参数,可以实现setnamesutf8,且永久生效
[client] default-character-set=utf8 无需重启MySQL,退出当前登录,重新登录即可 [server] default-character-set=utf85.1以前的版本 character-set-server=utf85.5版本
库表,程序!
CREATEDATABASEwyb DEFAULTCHARACTERSETutf8collateutf8_general_cli;
字符集含义总结表
mysql>showvariableslike'character_set%'; |character_set_client|utf8#客户端字符集 |character_set_connection|utf8#链接字符集 |character_set_database|utf8#数据库字符集,配置文件指定或者创建时指定 |character_set_results|utf8#返回结果字符集 |character_set_server|utf8#服务器字符集,配置文件,或者创建库,表时候指定
本文出自“crazy_sir”博客