mysql数据库编码 数据

如何改变mysql数据库的编码方式

1. 查看MySQL数据库的默认编码
有如下两种方式,
(1)使用status命令
mysql》 status;
图1 status命令
(2)使用show variables命令
mysql》 show variables like ’char%’;
图2 show variables命令
如果要查看某个数据库的编码,在运行上面的命令前,应先执行use db_name;命令切换数据库(db_name为要查看的数据库名)。
2. 改变MySQL数据库的默认编码
安装MySQL数据库时的默认编码是latin1,实际使用时可能要使用其他编码。下文描述如何将默认编码改为utf8:
首先修改MySQL的配置文件/etc/mysql/my.cnf:
在下追加:
default-character-set=utf8
在下追加:
character-set-server=utf8
在下追加:
default-character-set=utf8
修改完毕后,使用如下命令之一重启mysql服务:
service mysql restart
/etc/init.d/mysql restart
改变后,之前手工创建的数据库如未显式指定编码,则其编码仍是默认的latin1,可使用如下命令更改编码:
mysql》 alter database db_name CHARACTER SET utf8;
参考资料:
http://www.2cto.com/os/201404/292378.html

如何设置mysql数据库为utf-8编码

  检查当前数据库编码。
  使用语句:
  show variables like ‘%character%’;
  show variables like’%collation%’;
  
  如果不是以上情况,需要将mysql编码设置为utf-8。具体步骤如下:
  如果安装mysql时安装了“MySql Sever Instance Configuration Wizard”,则只需要启动该程序进行相应设置即可。如下面截图中所描述,需要将默认编码设置为utf8
  如果没有该程序,需要手动修改mysql编码。
  1、 MySql的配置文件
  MySql的配置文件Windows下一般在系统目录下或者在MySql的安装目录下名字叫my.ini,可以搜索,Linux下一般是 /etc/my.cnf
  
  –在 标签下加上以下内容:
  default-character-set = utf8
  character_set_server = utf8
  注意:如果此标签下已经存在“default-character-set=GBK”类似的内容,只需修改即可。
  –在 标签下加上一行
  default-character-set = utf8
  
  –在 标签下加上一行
  default-character-set = utf8
  
  –在 标签下加上一行
  default-character-set = utf8
  
  –在 标签下加上一行
  default-character-set = utf8
  
  2、 重新启动MySql服务
  Windows可在服务管理器中操作,也可使用命令行:
  net stop mysql 回车
  net start mysql 回车
  服务名可能不一定为mysql,请按自己的设置
  
  Linux下面可是用 service mysql restart
  
  如果出现启动失败,请检查配置文件有没有设置错误
  
  3、 查看设置结果
登录MySql命令行客户端:打开命令行
  mysql –uroot –p 回车
  输入密码
  进入mysql后 执行 :show variables like “% character %“;
  
  另外:
  
  建立数据库时可以使用以下命令:
  create database app_relation character set utf8;
  use app_relation;
  source app_relation.sql;
  修改数据库编码的命令为:
  alter database app_relation character set utf8;
  

如何设置mysql数据库为utf-8编码

以更改为UTF-8为例,GB2312雷同。
1、关闭mysql服务(以下为命令行中执行)
view plaincopy
service mysql stop
2、修改 /etc/mysql/my.cnf (默认的安装路径)
view plaincopy
vim /etc/mysql/my.cnf
打开my.cnf后,在文件内的下增加如下两行设置:
character_set_server=utf8
init_connect=’SET NAMES utf8’
然后保存退出。
3、重新启动mysql服务
view plaincopy
service mysql start
至此,完成修改默认编码,登陆mysql后重新使用show variable like ’%character%’获得的输出效果

怎么设置mysql数据库编码,如何查看mysql编码

default-character-set=utf82单独设置某个数据库:
alter
database
testdb
character
set
utf8;
查看mysql支持的编码:
show
character
set;也可以使用如下方法查看编码:
show
status
mysql
-uroot
use
your
database
status
———————————-
server
characterset:
utf8
db
characterset:
utf8
client
characterset:
utf8
conn.
characterset:
utf8
tcp
port:
3306
uptime:
53
sec
———————————-
如果
client
为utf8
,
改为:
set
char
set
’gbk’;
查看数据库编码:show
create
database
your_db_name

如何查看mysql数据库字符集编码

基本上现在的字符集 MySQL 都支持,查看 MySQL 支持的字符集列表, 有两种方法:
1. SQL 语句
2. 查看元数据字典表
查询结果:
1)第一列代表字符集名字;
2)第二列表示字符集排序规则;
3)第三列表示字符集描述;
4)第四列表示字符集编码的最大字节数。

mysql 更改数据库字符编码的方法

mysql如何更改数据库字符编码?借助客户端工具很容易就可以更改了,下面来看一下。

打开navicat客户端工具,在左边找到要更改的数据库。

右键点击这个数据库,在菜单上点击数据库属性选项。

在弹出的属性窗口上,点击默认字符集下的下拉框。

在弹出的下拉选项里,点击选中要使用的字符集就行了,比如选择常用的utf8字符集,点击ok按钮就行了。

mysql数据库表里中文乱码应该选哪种编码

数据库中关于字符集的种类有很多,个人建议,数据库字符集尽量使用utf8(utf-8),以使你的数据能很顺利的实现迁移,因为utf8字符集是目前最适合于实现多种不同字符集之间的转换的字符集,尽管你在命令行工具上无法正确查看数据库中的内容,我依然强烈建议使用utf8作为默认字符集.如果你想使用gb2312编码,那么建议你使用latin1作为数据表的默认字符集,这样就能直接用中文在命令行工具中插入数据,并且可以直接显示出来.而不要使用gb2312或者gbk等字符集,如果担心查询排序等问题,可以使用binary属性约束 对编程有影响的主要是客户端字符集和数据库字符集(还有一个服务器字符集,不知道干什么用的), 数据库中常用的操作就是保存数据和读取数据,在这过程中,乱不乱码和数据库字符集貌似没有什么关系。我们只要保证写入时选择的字符集和读取时选择的字符集一致,即只需保证两次操作的客户端字符集一致即可。 \x0d\x0a在MySQL的客户端上执行一次查询的过程一般是,在客户端的提示符后面输入一条SQL语句,回车,然后终端显示出查询的结果。这个过程中,只有终端和三个MySQL的系统变量指定了正确的字符集,才能保证我们将一个正确的SQL语句送到服务器,然后服务器返回正确的结果,并且在终端正确显示。 \x0d\x0a三个MySQL的系统变量是: \x0d\x0a1. character_set_client,终端字符集,告诉Server客户端提交的SQL语句的编码格式 \x0d\x0a2. character_set_connection,连接字符集,是服务器翻译SQL语句时用到的编码格式 \x0d\x0a3. character_set_results,返回的结果集的字符集,是服务器返回结果集之前把结果集转换成的编码格式 \x0d\x0a在MySQL终端通过执行命令 show variables like ‘char%’ 可以查看这几个变量的值。这三个变量通常都设定为同一种字符集,用命令set names 就可以修改这三个变量的值。一般来说,只要你设定了能够表示你的数据的字符集,你查询的结果都可以在终端正确显示。 \x0d\x0a举个例子,使用的表t1是utf8编码,表中的字段c1继承了这个编码,表创建如下 \x0d\x0amysql》 create table t1 ( c1 text not null ) character set utf8; \x0d\x0a用的字符是汉字“范”,gbk编码为B7 B6,utf8编码为E8 8C 83 \x0d\x0a用下面的SQL语句插入数据 \x0d\x0amysql》 insert into t1 values( ‘范’); \x0d\x0aa)如果终端设置为utf8,并且执行了 set names utf8,那么插入到数据库中的就是“范”这个字的utf8编码,这个过程中MySQL不需要做编码转换。写入数据库的内容可以通过执行 select hex( c1 ) from t1 得到数据的十六进制编码来验证。 \x0d\x0a\x0d\x0ab)如果终端设置为 utf8,并且执行了set names gbk,那么执行完这个插入操作后,写入的二进制数据是E9 91 BC,这是“汉字“锣”的utf8编码。这是因为,终端输入的“范”用的是utf8编码,而服务器以为终端发送过来的内容是gbk编码,所以在向t1表中插入的时候进行了一次gbk到utf8的转换,结果当然是错误的。 \x0d\x0a\x0d\x0ac)如果终端设置为gbk,并且执行了set names gbk,那么执行完插入操作后,写入t1的依然是“范”这个字的utf8编码。插入过程中,终端输入的是“范”的gbk编码B7 B6,服务器被告知终端发过来的SQL语句是gbk编码(由character_set_client指定),所以在插入数据前做了一次gbk到utf8的编码转换。 \x0d\x0a\x0d\x0ad)如果终端设置为gbk,并且执行了set names utf8,那么执行完插入操作后,MySQL会报出一个数据被截断的警告。实际上,输入终端的是“范”这个字符的gbk编码B7 B6,而服务器被告知客户端发过来的SQL语句是utf8编码,所以在执行过程中没有做转码,直到插入数据的时候,发现B7 B6不符合utf8的编码规则,给出了警告信息,实际插入的数据是3F 3F,也就是两个问号。 \x0d\x0a\x0d\x0a查询的时候是同样的道理,MySQL也是根据set names设定的字符集来对返回给客户端的结果集做相应的编码转换,如果转换的结果和终端显示的字符集一致,就能正确显示,如果不一致就是乱码。 \x0d\x0a\x0d\x0a结论是,只要终端的字符集和set names指定的字符集一致就可以让MySQL在处理过程中执行正确的转码并且正确地显示。 \x0d\x0a\x0d\x0a另外,如果通过程序操作MySQL数据库, 那么也需要事先执行set names命令来指定程序希望输出的字符集。比如,用程序从一个utf8编码的数据库向另外一个gbk编码的数据库进行数据迁移,在选取源数据库数据之前,需要执行set names gbk,才能取到gbk编码的数据。

mysql应该用什么编码格式储存在数据库里呢

mysql中一般用UTF-8编码。

UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。

修改数据库编码的命令为:

alter database app_relation character set utf8;

它相当于下面的三句指令:

SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;

怎么查看mysql的数据库编码格式

1、查看数据库编码格式

mysql》 show variables like ’character_set_database’

2、查看数据表的编码格式

mysql》 show create table 《表名》;

3、创建数据库时指定数据库的字符集

mysql》create database 《数据库名》 character set utf8;

4、创建数据表时指定数据表的编码格式

create table tb_books (
name varchar(45) not null,
price double not null,
bookCount int not null,
author varchar(45) not null ) default charset = utf8;

5、修改数据库的编码格式

mysql》alter database 《数据库名》 character set utf8;

6、修改数据表格编码格式

mysql》alter table 《表名》 character set utf8;

7、修改字段编码格式

mysql》alter table 《表名》 change 《字段名》 《字段名》 《类型》 character set utf8;
mysql》alter table user change username username varchar(20) character set utf8 not null;

如何设置Mysql数据库默认的字符集编码为GBK

1、更改服务器的编码方式,在终端输入以下命令:

mysqld–character-set-server=gbk–collation-server=gbk_chinese_ci;

2、更改某个数据库的编码方式

mysql-uroot-p 

alterdatabasecharactersetgbkcollategbk_chinese_ci;

createdatabasedb_namecharactersetgbkcollategbk_chinese_ci;

mysql-uroot-pdb_name

altertabletable_nameconvertto charachtersetgbkcollategbk_chinese_ci; 

createtabletable_name(….)charactersetgbkcollategbk_chinese_ci;

mysql-uroot-pdb_name

altertabletable_namemodifycolumn_namevarchar(20)charactersetgbkcollategbk_chinese_ci;

《/pre》《prename=“code“class=“sql“》mysql-uroot-pdb_name

createtabletable_name(…,col1varchar(20)charactersetgbkcollategbk_chinese_ci,…)charactersetutf8collateutf8_general_ci;