MySQL插入中文不乱码的5种方法
程序员文章站
2024-02-19 22:28:46
方法一:
登录mysql,先做 set names latin1 ,然后在更新语句或者执行sql语句
mysql> set names latin1;...
方法一:
登录mysql,先做 set names latin1 ,然后在更新语句或者执行sql语句
mysql> set names latin1; mysql> source test.sql;
方法二:
在sql文件中指定set names latin1;然后登录mysql,执行相应文件
[root@localhost ~]# cat test.sql set names latin1; insert *****************; mysql> source test.sql;
方法三:
在sql文件中指定set names latin1;然后通过mysql命令导入
[root@localhost ~]# mysql -uroot -p123456 test <test.sql
方法四:
通过指定mysql命令的字符集参数实现--default-character-set=latin1
[root@localhost ~]# cat test.sql insert *****************; [root@localhost ~]# 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” 博客