Mysql数据库字符集设置

1.操作系统:CentOS6.6

2.数据库系统: Mysql

3.任务:解决数据乱码的问题

1)更改客户端的字符集gbk

客户端字符集设置,set names gbk;这样可以确保插入后的中文,不出现乱码,对执行set names gbk,前插入的中文无效。

说明:通常下面的几个字符集和数据库的字符集相同的和character_set_database,才能确保写入数据可以正确输出。

 mysql> set names gbk;      #更改客户端的字符集gbk

Query OK, 0 rows affected (0.00 sec)

mysql> show variables like ‘character_set%‘;

+--------------------------+----------------------------+

| Variable_name            | Value                      |

+--------------------------+----------------------------+

| character_set_client     | gbk  #客户端字符集              |

| character_set_connection | gbk  #连接字符集                 |

| character_set_database   |gbk  #数据库字符集                    |

| character_set_filesystem | binary                    |

| character_set_results    | gbk   #返回结果字符集      |

| character_set_server     | gbk  #服务器字符集                    |

| character_set_system     | utf8                       |

| character_sets_dir       | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

8 rows in set (0.00 sec)

2)更改服务端字符集的配置:

在my.cnf配置文件里[mysqld]模块下添加字任集配置,生效后,创建数据库和表默认都是这个设置的字符集。

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

default-character-set=gbk   #添加一行,是更改服务端的字符集

[[email protected] /]# service mysqld restart

停止 mysqld:                                              [确定]

正在启动 mysqld:

mysql> show variables like ‘character_set%‘;

+--------------------------+----------------------------+

| Variable_name            | Value                      |

+--------------------------+----------------------------+

| character_set_client     | latin1                     |

| character_set_connection | latin1                     |

| character_set_database   | gbk                        |   #更改成了gbk字符集

| character_set_filesystem | binary                     |

| character_set_results    | latin1                     |

| character_set_server     | gbk                        |   #更改成了gbk字符集

| character_set_system     | utf8                       |

| character_sets_dir       | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

8 rows in set (0.01 sec)

3)或者登录的时候指定字符集:

[[email protected] mysql]# Mysql –uroot –p –default-character-set=gbk

[[email protected] mysql]# mysql -uroot -p  -S /var/lib/mysql/mysql.sock --default-character-set=gbk;

时间: 2024-10-11 16:39:30

Mysql数据库字符集设置的相关文章

MySQL驱动和数据库字符集设置不搭配

刚才控制台又报这个错,这是代表MySQL驱动和数据库字符集设置不搭配: 错误: "...Initial client character set can be forced via the 'characterEncoding' property." 解法: 在sqlMapConfig.xml中添加 <environments default="mysql"> <environment id="mysql"> <tr

mysql数据库字符集学习总结

MYSQL数据库字符集包括字符集(CHARACTER)和校对规则(COLLATION)两个概念. MYSQL 支持的字符集和校对规则可以通过命令showcharacter set;查看. 和字符集有关的变量 mysql> show VARIABLES  like 'character_set%';+--------------------------+-------------------------------------------+| Variable_name            | 

Mysql DBA 高级运维学习笔记-Mysql数据库字符集知识

1.2 Mysql数据库字符集知识 1.2.1 MySQL数据库字符集介绍 简单的说,一套文字符号及其编码.比较规则的集合. MySQL数据库字符集包括字符集(CHARACTER)和校对规则(COLLATION)两个概念.其中,字符集是用来定义MySQL数据字符串的存储方式,而校对规则则是定义比较字符串的方式.前面建库的语句中,CHARACTER SET latin1即为数据库字符集而COLLATE latin1_wedish_ci 为校对字符集,有关字符集详细内容参考mysql手册,第10张字

添加MySql数据库超时设置的相关问题

最近在工作中, 遇到MySql数据库连接超时的问题,申同事帮忙解决了一下,看到原来的MySqlHelper里面没有封装相关的超时方法,就添加了一个,我在这里记录了一下,希望对像我一样入门级的程序员有所帮助: 如下方法: Private int ExecuteScalarBySql(string sqlstr) { try{ using((MySqlConnection mysqlconn)=new MySqlConnection(Config.ConnectionStrings)) { mysq

mysql 数据库远程访问设置方法

摘自: http://www.iteye.com/topic/418151 mysql数据库远程访问设置方法 1.修改localhost更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%" mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql

MySQL 数据库字符集的查看与设置

一.查看 MySQL 数据库服务器和数据库字符集 mysql> show variables like '%char%';+--------------------------+-------------------------------------+------| Variable_name            | Value                               |......+--------------------------+-----------------

linux下设置mysql数据库字符集utf8

mysql中文乱码解决方法:将mysql数据库编码统一utf8 查看数据库编码: show variables like 'character%'; 编辑/etc/my.cnf [mysql] default-character-set=utf8 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to preve

修改mysql数据库字符集为UTF8的

第一种 一.修改my.ini配置文件(MySQL配置文件) character_set_server = utf8 #设置字符集 重启mysql数据库服务 查看当前数据库字符集 show VARIABLES like 'character%'; 二.修改数据库字符集 alter database 数据库名 character set utf8; ps:修改完数据库字符集,需要重启MySQL数据库. 三.修改表字符集 ALTER TABLE  表名 DEFAULT CHARACTER SET ut

Mysql数据库中设置root密码的命令及方法

我们都知道通常PHP连接 Mysql都是通过root用户名和密码连接,默认情况下在Mysql安装时root初始密码为空,在安装使用PHP开源系统时,都需要填写连接Mysql数据库的用户名和密码,此时当你忘记了Mysql的root密码或没有设置Mysql的root密码时,就必须要修改或设置Mysql的root密码,这个问题对于PHP入门学习者来说也是个头大的问题,其实修改Mysql的root密码有很多方法,可以利用Mysql工具,也可以使用Mysql更改root 密码的命令来实现. 准备工作 在使