>

消除mysql客户端显示乱码的难点

- 编辑:乐百家599手机首页 -

消除mysql客户端显示乱码的难点

修改my.in如下 

深透消除mysql粤语乱码的方法,修改mysql解压缩版(免安装版或zip版)字符编码,mysqlzip

MySQL会现出汉语乱码的原由除了下列几点:
1.server本身设定难题,举例
server字符编码还栖息在latin1
2.table的语系设定难题(包罗character与collation)
3.客户端程式(比如php)的连线语系设定难点
刚强建议使用utf8!!!!
utf8能够包容世界上全体字符!!!!


一、windows下Mysql插入中文呈现乱码消除方案:对于mysql解压缩版(免安装版或zip版)举办设置字符编码

1、

当大家把zip文件格式解压到内定目录后,并且实现大旨条件安顿后,展开mysql 5.6.24会意识名称为【my-default.ini】的文本。我们用记事本张开该公文少禽发觉并未【default-character-set = xxx】也许【character_set_server=xxx】,怎么回事呢?互连网提交的过多主意都以向来改变这句话的xxx为utf8,不急,上面请看第二步:

2、

复制该文件,并且命名称为【my.ini】,那样根目录下就有五个.ini文件了,一个是my-default.ini,叁个是my.ini 。接下来大家只需修改my.ini里面包车型地铁开始和结果就行了。请看第三步:

3、

修改【my.ini】,

在[mysqld]上面添加character_set_server=utf8,注意是【utf8】不是【utf-8】而且前面未有别的标点符号;

在【sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES】那句话前边再增加三行:

[client]
port=3306
default-character-set=utf8

4、

经过上述三步就ok了。保存后重启服务器,登陆后在命令行输入:【show variables like 'char%';】可查看暗中同意字符集如下图所示:

图片 1

5、

自己的【my.ini】代码,黑灰代码区为修改之处:

# For advice on how to change settings please see
#
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
basedir = D:mysql-5.6.24-winx64
datadir = D:mysql-5.6.24-winx64data
port = 3306
# server_id = .....
character_set_server=utf8

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[client]
port=3306
default-character-set=utf8

二、LInux下Mysql插入汉语展现乱码消除方案

mysql -uroot -p 回车输入密码

跻身mysql查看情形如下:

图片 2

mysql不能插入中文

私下认可的是客户端和服务器都用了latin1,所以会乱码。

            消除方案:直接修改暗中认可的Mysql配置文件深透消除mysql不可能插入汉语和国文乱码的办法

一、进入mysql(mysql -uroot -p),查看当前数据库字符集(status;)

二、查看当前系统版本(lsb_release -a)

图片 3

Mysql不能够插入汉语

三、#vim /etc/mysql/my.cnf 。(5.5原先系统)在【client】上面进入 default-character-set=utf8

在【mysqld】上边进入default-character-set=utf8

Notice:注意 要是改造后无法运转报错试试把default-character-set=utf8改为character_set_server=utf8,仅仅参预到mysqld下边包车型地铁.client就没有要求加了

四、#vim /etc/mysql/my.cnf 。(5.5自此系统)如下修改:

[client]
default-character-set=utf8

[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci

五、重启mysql(/etc/init.d/mysql stop   /etc/init.d/mysql  start)

六、修成成功,进入mysql查看字符集(mysql>show variables like ‘character_set_%’;)

图片 4

                              Mysql不可能插入汉语

三、制止成立数据库及表出现中文乱码和查看编码方法
     1、成立数据库的时候:CREATE DATABASE `test`
CHARACTER SET 'utf8'
COLLATE 'utf8_general_ci';
     2、建表的时候 CREATE TABLE `database_user` (
`ID` varchar(40) NOT NULL default '',
`UserID` varchar(40) NOT NULL default '',
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

那3个设置好了,基本就不会出难题了,即建库和建表时都施用同样的编码格式。
但是假如您早已建了库和表能够透过以下措施张开询问。
1.翻看默许的编码格式:
mysql> show variables like "%char%";
-------------------------- ---------------
| Variable_name | Value |
-------------------------- ---------------
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | utf8 |
| character_set_system | utf8 |
-------------------------- -------------
注:在此此前2个来规定,能够运用set names utf8,set names gbk设置暗中认可的编码格式;

进行SET NAMES utf8的服从同样同不经常间设定如下:
SET character_set_client='utf8';
SET character_set_connection='utf8';
SET character_set_results='utf8';

    2.查看test数据库的编码格式:
mysql> show create database test;
------------ ------------------------------------------------------------------------------------------------
| Database | Create Database |
------------ ------------------------------------------------------------------------------------------------
| test | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET gbk */ |
------------ ------------------------------------------------------------------------------------------------

    3.翻看yjdb数据库的编码格式:
mysql> show create table yjdb;
| yjdb | CREATE TABLE `yjdb` (
`sn` int(5) NOT NULL AUTO_INCREMENT,
`type` varchar(10) NOT NULL,
`brc` varchar(6) NOT NULL,
`teller` int(6) NOT NULL,
`telname` varchar(10) NOT NULL,
`date` int(10) NOT NULL,
`count` int(6) NOT NULL,
`back` int(10) NOT NULL,
PRIMARY KEY (`sn`),
UNIQUE KEY `sn` (`sn`),
UNIQUE KEY `sn_2` (`sn`)
) ENGINE=MyISAM AUTO_INCREMENT=1826 DEFAULT CHARSET=gbk ROW_FORMAT=DYNAMIC |

四、防止导入数据有汉语乱码的难点
1:将数据编码格式保存为utf-8
安装暗中认可编码为utf8:
set names utf8;
安装数据库db_name默认为utf8:
ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
设置表tb_name暗许编码为utf8:
ALTER TABLE `tb_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
导入:
LOAD DATA LOCAL INFILE 'C:\utf8.txt' INTO TABLE yjdb;
2:将数据编码格式保存为ansi(即GBK或GB2312)
安装默许编码为gbk:
set names gbk;
安装数据库db_name暗中认可编码为gbk:
ALTER DATABASE `db_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
设置表tb_name默许编码为gbk:
ALTER TABLE `tb_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
导入:
LOAD DATA LOCAL INFILE 'C:\gbk.txt' INTO TABLE yjdb;

注:1.UTF8不要导入gbk,gbk不要导入UTF8;
2.dos下不帮衬UTF8的展现;
五、化解网页中乱码的主题素材

将网站编码设为 utf-8,这样能够相配世界上具有字符。
  若是网址已经运营了漫漫,已有好多旧数据,不可能再改动简体普通话的设定,那么建议将页面包车型大巴编码设为 GBK, GBK与GB2312的区分就在于:GBK能比GB2312显示越多的字符,要显得简体码的繁体字,就只能用GBK。
1.编辑/etc/my.cnf ,在[mysql]段加入default_character_set=utf8;
2.在编写Connection URL时,加上?useUnicode=true&characterEncoding=utf-8参;
3.在网页代码中丰富三个"set names utf8"可能"set names gbk"的命令,告诉MySQL连线内容都要运用
utf8或者gbk;

 

MySQL会产出中文乱码的开始和结果除了下列几点: 1.ser...

5.6.24会发觉名叫【my-default.ini】的文本。大家用记事本展开该文件会意识并从未【default-character-set

xxx】或者【character_set_server=xxx】,怎么回事呢?互连网提交的众多措施都以一直更动那句话的xxx为utf8,不急,上面请看第二步:

 

2、

 

复制该公文,并且命名叫【my.ini】,那样根目录下就有七个.ini文件了,一个是my-default.ini,叁个是my.ini 。接下来大家只需修改my.ini里面包车型客车内容就行了。请看第三步:

 

3、

 

修改【my.ini】,

 

在[mysqld]下边增多character_set_server=utf8,注意是【utf8】不是【utf-8】而且后边未有任何标点符号;

 

在【sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES】那句话前面再增添三行:

 

[client]

port=3306

default-character-set=utf8

 

4、

 

通过以上三步就ok了。保存后重启服务器,登录后在命令行输入:【show variables like 'char%';】可查阅暗中认可字符集如下图所示:

图片 5

5、

 

本身的【my.ini】代码,茶色代码区为修改之处:

 

# For advice on how to change settings please see

#

# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the

# *** default location during install, and will be replaced if you

# *** upgrade to a newer version of MySQL.

 

[mysqld]

 

# Remove leading # and set to the amount of RAM for the most important data

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

# innodb_buffer_pool_size = 128M

 

# Remove leading # to turn on a very important data integrity option: logging

# changes to the binary log between backups.

# log_bin

 

# These are commonly set, remove the # and set as required.

basedir = D:mysql-5.6.24-winx64

datadir = D:mysql-5.6.24-winx64data

port = 3306

# server_id = .....

character_set_server=utf8

 

# Remove leading # to set options mainly useful for reporting servers.

# The server defaults are faster for transactions and fast SELECTs.

# Adjust sizes as needed, experiment to find the optimal values.

# join_buffer_size = 128M

# sort_buffer_size = 2M

# read_rnd_buffer_size = 2M

 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

 

[client]

port=3306

default-character-set=utf8

 

二、LInux下Mysql插入中文呈现乱码化解方案

 

mysql -uroot -p 回车输入密码

 

进入mysql查看处境如下:

图片 6

mysql不可能插入普通话

 

私下认可的是客户端和服务器都用了latin1,所以会乱码。

 

化解方案:直接修改私下认可的Mysql配置文件彻底化解mysql不可能插入普通话和华语乱码的方法

 

一、进入mysql(mysql -uroot -p),查看当前数据库字符集(status;)

 

二、查看当前系统版本(lsb_release -a)

图片 7

Mysql不可能插入中文

 

三、#vim /etc/mysql/my.cnf 。(5.5在先系统)在【client】下面进入 default-character-set=utf8

 

在【mysqld】上边进入default-character-set=utf8

 

Notice:注意 若是改变后无法开行报错试试把default-character-set=utf8改为character_set_server=utf8,仅仅参预到mysqld下边包车型大巴.client就不须求加了

 

四、#vim /etc/mysql/my.cnf 。(5.5现在系统)如下修改:

 

[client]

default-character-set=utf8

 

[mysqld]

default-storage-engine=INNODB

character-set-server=utf8

collation-server=utf8_general_ci

 

五、重启mysql(/etc/init.d/mysql stop   /etc/init.d/mysql  start)

 

六、修成成功,进入mysql查看字符集(mysql>show variables like ‘character_set_%’;)

图片 8

Mysql不恐怕插入汉语

 

三、制止创造数据库及表出现普通话乱码和查看编码方法

 

1、创立数据库的时候:CREATE DATABASE `test`

CHARACTER SET 'utf8'

COLLATE 'utf8_general_ci';

     2、建表的时候 CREATE TABLE `database_user` (

`ID` varchar(40) NOT NULL default '',

`UserID` varchar(40) NOT NULL default '',

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

那3个设置好了,基本就不会出难点了,即建库和建表时都利用同一的编码格式。

 

但是若是您曾经济建设了库和表能够经过以下措施实行查询。

 

1.查看默许的编码格式:

mysql> show variables like "%char%";

-------------------------- ---------------

| Variable_name | Value |

-------------------------- ---------------

| character_set_client | gbk |

| character_set_connection | gbk |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | gbk |

| character_set_server | utf8 |

| character_set_system | utf8 |

-------------------------- -------------

 

注:以前2个来显著,能够运用set names utf8,set names gbk设置私下认可的编码格式;

 

施行SET NAMES utf8的功力同样同不常候设定如下:

SET character_set_client='utf8';

SET character_set_connection='utf8';

SET character_set_results='utf8';

 

2.查看test数据库的编码格式:

mysql> show create database test;

------------ ------------------------------------------------------------------------------------------------

| Database | Create Database |

------------ ------------------------------------------------------------------------------------------------

| test | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET gbk */ |

------------ ------------------------------------------------------------------------------------------------

 

3.查看yjdb数据库的编码格式:

mysql> show create table yjdb;

| yjdb | CREATE TABLE `yjdb` (

`sn` int(5) NOT NULL AUTO_INCREMENT,

`type` varchar(10) NOT NULL,

`brc` varchar(6) NOT NULL,

`teller` int(6) NOT NULL,

`telname` varchar(10) NOT NULL,

`date` int(10) NOT NULL,

`count` int(6) NOT NULL,

`back` int(10) NOT NULL,

PRIMARY KEY (`sn`),

UNIQUE KEY `sn` (`sn`),

UNIQUE KEY `sn_2` (`sn`)

) ENGINE=MyISAM AUTO_INCREMENT=1826 DEFAULT CHARSET=gbk ROW_FORMAT=DYNAMIC |

 

四、制止导入数占有普通话乱码的难点

 

1:将数据编码格式保存为utf-8

 

设置暗许编码为utf8:

set names utf8;

 

设置数据库db_name默认为utf8:

ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

 

设置表tb_name默许编码为utf8:

ALTER TABLE `tb_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

 

导入:

LOAD DATA LOCAL INFILE 'C:\utf8.txt' INTO TABLE yjdb;

 

2:将数据编码格式保存为ansi(即GBK或GB2312)

 

设置暗许编码为gbk:

set names gbk;

 

设置数据库db_name私下认可编码为gbk:

ALTER DATABASE `db_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

 

设置表tb_name暗许编码为gbk:

ALTER TABLE `tb_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

 

导入:

LOAD DATA LOCAL INFILE 'C:\gbk.txt' INTO TABLE yjdb;

 

注:1.UTF8不要导入gbk,gbk不要导入UTF8;

2.dos下不帮衬UTF8的显得;

 

五、消除网页中乱码的主题材料

 

将网址编码设为 utf-8,那样能够相配世界上具备字符。

 

若果网址已经运维了长期,已有大多旧数据,不能够再更动简体汉语的设定,那么提议将页面包车型大巴编码设为 GBK, GBK与GB2312的分别就在于:GBK能比GB2312显示越多的字符,要展现简体码的繁体字,就只能用GBK。

 

1.编辑/etc/my.cnf ,在[mysql]段加入default_character_set=utf8;

 

2.在编写Connection URL时,加上?useUnicode=true&characterEncoding=utf-8参;

 

3.在网页代码中增进多个"set names utf8"或许"set names gbk"的一声令下,告诉MySQL连线内容都要使用

utf8或者gbk;

MySQL会冒出中文乱码的由来不外乎下列几点: 1.server本人设定...

[mysqld]

port=3306 

深透解决mysql粤语乱码的方法,修改mysql解压缩版(免安装版或zip版)字符编码

MySQL会冒出中文乱码的原由除了下列几点:

 

1.server本身设定难点,举个例子server字符编码还栖息在latin1

 

2.table的语系设定难点(包括character与collation)

 

3.客户端程式(举个例子php)的连线语系设定难题

 

刚毅建议使用utf8!!!!

 

utf8能够协作世界上享有字符!!!!

 


 

一、windows下Mysql插入中文显示乱码消除方案:对于mysql解压缩版(免安装版或zip版)举办安装字符编码

 

1、

 

当大家把zip文件格式解压到钦命目录后,并且实现主题条件安插后,展开mysql

2、

在创造表的时候要为每张表都安装default charset=utf8; 

在[mysqld]上边增加character_set_server=utf8,注意是【utf8】不是【utf-8】而且前边未有别的标点符号;

mysql客户端体现乱码,不可能寻常展现普通话

[client]
port=3306
default-character-set=utf8

修改my.in如下 [client] port=3306 default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] port=3306 default-...

mysql不可能插入普通话

 

四、#vim /etc/mysql/my.cnf 。(5.5之后系统)如下修改:

default-character-set=utf8 

[client]
default-character-set=utf8

 

MySQL会出现中文乱码的原因除了下列几点:
1.server本身设定难点,举例
server字符编码还停留在latin1
2.table的语系设定难点(包含character与collation)
3.客户端程式(比如php)的连线语系设定难题
刚毅建议使用utf8!!!!
utf8可以相称世界上有着字符!!!!

[client] 

图片 9

[mysqld] 

四、幸免导入数据有中文乱码的主题材料
1:将数据编码格式保存为utf-8
安装暗中同意编码为utf8:
set names utf8;
安装数据库db_name默认为utf8:
ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
设置表tb_name暗许编码为utf8:
ALTER TABLE `tb_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
导入:
LOAD DATA LOCAL INFILE 'C:\utf8.txt' INTO TABLE yjdb;
2:将数据编码格式保存为ansi(即GBK或GB2312)
设置默许编码为gbk:
set names gbk;
设置数据库db_name私下认可编码为gbk:
ALTER DATABASE `db_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
设置表tb_name默许编码为gbk:
ALTER TABLE `tb_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
导入:
LOAD DATA LOCAL INFILE 'C:\gbk.txt' INTO TABLE yjdb;

来开始展览导入不可能经过第三方工具进行导入 

            消除方案:直接退换私下认可的Mysql配置文件深透消除mysql无法插入中文和粤语乱码的不二秘籍

port=3306 

4、

default-character-set=utf8 

注:1.UTF8不要导入gbk,gbk不要导入UTF8;
2.dos下不帮助UTF8的呈现;
五、化解网页中乱码的标题

[mysql] 

五、重启mysql(/etc/init.d/mysql stop   /etc/init.d/mysql  start)

本文由乐百家数据库发布,转载请注明来源:消除mysql客户端显示乱码的难点