mysql乱码问题

一.登陆mysql先作  set names latinl; 而后在执行跟新或者执行语句mysql

 

前提是查好库和表都是latinl的而后执行以上操做,不过是临时的sql

二 在sql文件中指定 set names latinl;而后登陆mysql,经过以下命令执行。  mysql > source test.sql数据库

三,.经过指定mysql命令的字符集参数实现--default-character-set=latinl;bash

mysql -uroot -p '123456' --default-character-set=latinl test < test.sql      导入sql直接输入字符集 也就不乱码了服务器

四。在配置文件里设置客户端及服务端参数app

[client]
character-set-server = utf8

[mysql]
character-set-server = utf8

不乱码的思想,客户端,服务器,库,表,程序字符集统一socket

 

###如何更改生产mysql数据库库表的字符集编码

对于已有的数据库想修改字符集不能直接经过 “alter database character set”或 “alter table tablename character set”server

这两个命令都没有跟新已有记录的字符集,而只是对新建立的表或者记录生效。blog

已经有记录的字符集的调整,必须先将数据导出,通过修改字符集后从新导入后才能够,

总结: 例如目前是latinl >修改完utf-8

1.建库及建表的语句导出,sed 批量修改成utf-8.

2.导出全部数据

3.修改mysql服务器和客户端编码为utf-8

4.删除原有的库表及数据

5.导入新的建库建表的语句

6.导入mysql的数据

 

 

[client]character-set-server = utf8[mysql]character-set-server = utf8[mysqld]#bind-address=127.0.0.1character-set-server = utf8datadir=/data/ops/app/mysql-5.6.23/standardsocket=/data/ops/app/mysql-5.6.23/standard/standard.sockuser=mysqlskip-grant-tables

相关文章
相关标签/搜索