`

mysql数据库字符集编码的查看与修改

阅读更多
在搭建产品demo的时候,开发者环境下往数据库同步数据时正常,但是其他使用者用同样程序及数据库初始化脚本搭建时,总是会出现入库中文为乱码的现象。这里的原因很可能就是数据库编码的问题。
下面的内容将介绍如何查看现在数据库的编码及如何修改:
1,查看编码:
命令:show variables like 'character_set_%'
结果,如:


2,修改已设定编码:
如对character_set_database修改编码
命令:set character_set_database = utf8
执行后,查看新编码内容为:

可见已成功将编码更换。

另外,有一种最简单的方式,通过修改mysql安装目录下的my.ini文件,将文件中
character_set_database = gbk
修改为
character_set_database = utf8
重启mysql服务即可。

因此,通过以上两个步骤,便可查看目前mysql内的各种编码格式,同时通过命令或修改配置文件还可以很轻松实现编码更换,用此来解决mysql数据库入库中文乱码问题。


以下内容是从网站获取的关于mysql字符集的问题,摘录在此,供参考学习:


MySQL的字符集支持(Character Set Support)有两个方面:

字符集(Character set)和排序方式(Collation)。

对于字符集的支持细化到四个层次:

服务器(server),数据库(database),数据表(table)和连接(connection)。

MySQL默认字符集

MySQL对于字符集的指定可以细化到一个数据库,一张表,一列,应该用什么字符集。

但是,传统的程序在创建数据库和数据表时并没有使用那么复杂的配置,它们用的是默认的配置,那么,默认的配置从何而来呢? 

(1)编译MySQL 时,指定了一个默认的字符集,这个字符集是 latin1;

(2)安装MySQL 时,可以在配置文件 (my.ini) 中指定一个默认的的字符集,如果没指定,这个值继承自编译时指定的;

(3)启动mysqld 时,可以在命令行参数中指定一个默认的的字符集,如果没指定,这个值继承自配置文件中的配置,此时 character_set_server 被设定为这个默认的字符集;

(4)当创建一个新的数据库时,除非明确指定,这个数据库的字符集被缺省设定为character_set_server;

(5)当选定了一个数据库时,character_set_database 被设定为这个数据库默认的字符集;

(6)在这个数据库里创建一张表时,表默认的字符集被设定为 character_set_database,也就是这个数据库默认的字符集;

(7)当在表内设置一栏时,除非明确指定,否则此栏缺省的字符集就是表默认的字符集;

简单的总结一下,如果什么地方都不修改,那么所有的数据库的所有表的所有栏位的都用 latin1 存储,不过我们如果安装 MySQL,一般都会选择多语言支持,也就是说,安装程序会自动在配置文件中把 default_character_set 设置为 UTF-8,这保证了缺省情况下,所有的数据库的所有表的所有栏位的都用 UTF-8 存储。
分享到:
评论

相关推荐

    MySQL数据库字符集转换及升级全教程

    MySQL 4.1开始把多国语言字符集分的更加详细,所以导致数据库迁移,或则dz论坛升级到4.0后(dz4.0开始使用gbk或utf-8编码)出现乱码问题。本文分析了出现乱码的原因,介绍了MySQL数据库字符集转换及升级的方法。

    Mysql字符集编码详解

    Mysql数据库乱码 问题彻底解决 针对JAVA

    mysql修改数据库编码(数据库字符集)和表的字符编码的方法

    Mysql数据库是一个开源的数据库,应用非常广泛。以下是修改mysql数据库的字符编码的操作过程和将表的字符编码转换成utf-8的方法,需要的朋友可以参考下

    Mysql 批量修改字符集

    MySQL 批量修改SCHEMA下所有数据表的编码及字符集

    Unity3D教程:修改mysql字符编码成为UTF82

    163、一般就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。解决方法是在发送查询前执行一下下面这句:

    mysql数据库中字符集乱码问题原因及解决

    实际上,无论何种数据库只要出现乱码问题,这大多是由于数据库字符集设定的问题。 下面我们就介绍一下,数据库的字符集的设定及乱码问题的解决。 mysql数据库的字符集 直白的说,字符就像是单个的文字,编码就像是给...

    mysql数据库语言范本

    create database [if not exists] 数据库名 [character set=字符集] [collate=校对集]; character set:用来设定数据库中的字符数据所要使用的字符编码,一些固定的名字,常用有utf8,gbk,gb2312。 也可以写成...

    phpmysql数据库备份代码

    在原faisunSQL 4.0的基础上,针对数据备份过程中出现乱码的问题,做了优化. 增强的功能: 1.自动识别数据库版本,对于MySQL 4.1...3.增加导入目标数据库字符集选项. 4.支持GBK、BIG5、UTF8之间的编码转换(见特别说明4).

    如何更改MySQL数据库的编码为utf8mb4

    utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符。 这篇文章给大家介绍了更改MySQL数据库的编码为utf8mb4的相关知识,感兴趣的朋友一起看看吧

    mysql字符集和数据库引擎修改方法分享

    MySQL字符集:cp1252 West European (latin1) ,解决乱码问题 使用虚拟主机空间上的phpmyadmin操作数据库的时候,如果看到phpmyadmin首页上显示的MySQL 字符集为cp1252 West European (latin1),当我们导入数据时就会...

    Mysql数据库编码问题 (修改数据库,表,字段编码为utf8)

    个人建议,数据库字符集尽量使用 utf8(HTML页面对应的是utf-8),以使你的数据能很顺利的实现迁移

    SSH+MYSQL 开发java web 企业级新闻系统

    使用MySQL,字符集选择为`utf8`或者`utf8mb4`(支持更多特殊字符,推荐)。 2. 创建数据库导入数据。数据库在`News\`目录下,参考数据脚本创建数据库。 3. 设置项目编码为utf-8,选择jdk1.7版本或以上,不要选择jre...

    MySQL数据库系统.docx

    general_ci --with-extra-charsets=gbk,gb2312 --prefix:指定将mysql数据库程序安装到哪个目录 --with-charset:指定默认使用的字符集编码 --with-collation:指定默认使用的字符集校对规则 --with-extra-charset:...

    mysql 常用设置 字符集编码、自动完成(自动提示)、监听外网ip

    mysql 常用设置 字符集编码、自动完成(自动提示)、监听外网ip,需要的朋友可以参考下

    Mysql5 字符集编码问题解决

    mysql 创建 数据库时指定编码很重要,很多开发者都使用了默认编码,但是我使用的经验来看,制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。

    简析mysql字符集导致恢复数据库报错问题

    mysql字符集编码错误的导入数据会提示错误了,这个和插入数据一样如果保存的数据与mysql编码不一样那么肯定会出现导入乱码或插入数据丢失的问题,下面我们一起来看一个例子。 [removed]ec(2);[removed] 恢复数据库...

    php版mysql大数据库备份和恢复工具

    3.增加导入目标数据库字符集选项. 4.支持GBK、BIG5、UTF8之间的编码转换(见特别说明4). 特别说明: 1.乱码问题一般仅出现在MySQL 4.1/MySQL 5 版本以后,如果你的数据库低于这个版本,基本可以不用考虑这个问题. 2...

    mysql字符集乱码问题解决方法介绍

    character-set-database:数据库字符集。 character-set-table:数据库表字符集。 优先级依次增加。所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-...

Global site tag (gtag.js) - Google Analytics