`

Mysql数据库修改编码为utf-8

阅读更多

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

网页数据一般采用UTF8编码,而数据库默认为latin 。我们可以通过修改数据库默认编码方式为UTF8来减少数据库创建时的设置,也能最大限度的避免因粗心造成的乱码问题。

我们遵循的标准是,数据库,表,字段和页面或文本的编码要统一起来
我们可以通过命令查看数据库当前编码: mysql> SHOW VARIABLES LIKE 'character%';
发现很多对应的都是 latin1,我们的目标就是在下次使用此命令时latin1能被UTF8取代。

第一步:
mysql设置编码命令

SET character_set_client = utf8;
SET character_set_connection = utf8;
SET character_set_database = utf8;
SET character_set_results = utf8;
SET character_set_server = utf8;

然后 mysql> SHOW VARIABLES LIKE 'character%'; 你可以看到全变为 utf8 。
但是,这只是一种假象

此种方式只在当前状态下有效,当重启数据库服务后失效。
所以如果想要不出现乱码只有修改my.ini文件,
my.ini下手(标签下没有的添加,有的修改)
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
以上3个section都要加default-character-set=utf8,平时我们可能只加了mysqld一项。
然后重启mysql,执行
mysql> SHOW VARIABLES LIKE 'character%';
确保所有的Value项都是utf8即可。
但是
|character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8
注意 该配置| character_set_server | latin1 无法设置成UTF8 交互时候仍然会出现乱码。

 

第二步:
找到下面
X:\%path%\MySQL\MySQL Server 5.0\bin\MySQLInstanceConfig.exe
重新启动设置,将默认编码设置为utf8.这样就能达到我们所要的效果了。
mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+---------------------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set

分享到:
评论

相关推荐

    2009年4月IP数据库.sql mysql utf-8

    IP数据库,从MySQL导出的sql,用phpmyadmin可以直接导入,字符编码为UTF-8 查询的时候先将IP转换成十进制,查询条件为大于ipstart小于ipend

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

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

    mysql数据库设置utf-8编码的方法步骤

    修改/etc/my.cnf或者/etc/mysql/my.cnf文件 [client] default-character-set = utf8 [mysqld] default-storage-engine = INNODB ...创建新数据库时使用UTF-8编码 create database 'test' default character set u

    windows下mysql 5.7版本中修改编码为utf-8的方法步骤

    mysql的默认编码是拉丁(latin1),当输入中文的时候就会报错,所以需要将编码修改为utf8,从网上找了相关教程都不可以,索性自己摸索后分享给大家,下面这篇文章主要给大家介绍了在mysql 5.7版本中如何修改编码为utf-...

    mysql默认编码为UTF-8 通过修改my.ini实现方法

    mysql默认的编码是Latin1是I-8859-1的别名,但Latin1是不支持汉字的,所以要将其改为UTF-8或GBK 1.关闭mysql服务器,这个很重要。 2.通过my.ini设置mysql数据库的编码 在mysql数据库的安装根目录下找到my.ini,例:C...

    为何不要在MySQL中使用UTF-8编码方式详解

    MySQL的UTF-8编码方式 MySQL 从 4.1 版本开始支持 UTF-8,也就是 2003 年,然而目前流行的UTF-8 标准(RFC 3629)是在此之后规定的。正因此,才造就了MySQL中的UTF-8与我们日常开发中的UTF-8不一致,从到导致了些...

    bigcoder84#study-notes#_1使用MySQL数据库时为什么永远不要UTF-8编码1

    ’ for column ‘summary’ at row 1​ 我用的是UTF-8编码的客户端,服务器也是UTF-8编码的,数据库也是,就连要保存的这个字符串

    MySQL乱码的几种原因

    MySQL之所以会乱码,无非是以下几种原因:  1、存进数据库之前乱码  2、在存进数据库过程中乱码  3、存进数据库后乱码  想知道在哪里出现乱码很简单...  3、设置数据库的编码为utf-8,在my.ini设置或者在Conf

    php页面,mysql数据库转utf-8乱码,utf-8编码问题总结

    2.PHP文件编码问题 点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确保文件编码为:UTF-8,如果是ANSI,需要将编码改成:UTF-8。 3.PHP文件头BOM问题: PHP文件一定不可以有BOM标签,否则,会...

    MySQL GBK→UTF-8编码转换

    前言: 第一次写教程,其实算不得教程,只是想总结个转换的手记。如果中间有错误,或者办法不够理想,大家回贴研究下。 另外,我也希望我们论坛...因为升级论坛过程中,服务器数据库环境为4.0.26当时不知道并不支持utf-8

    Access数据库中UTF-8转GB2312的方法

    详细介绍了如何把utf-8编码的Access 转换成GB2312编码的,一共写了2种方法,第1种是在网上能查到的asp代码方式,第2种是借助Mysql。

    mysql-connector-java-5.1.32.zip

    * characterEncoding=utf-8 设置编码utf-8 * * 面向接口编程 - 思想 */ //2. 获取数据库连接 Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/jt_db?...

    MySQL数据库 IP地址库 IP-DATA-MYSQL(附使用说明使用方法) 内含大量数据.rar

    如果数据库采用utf8编码方式,只需要选择 ‘ip_data_utf8.frm’‘ip_data_utf8.MYD’‘ip_data_utf8.MYI’三个文件复制到数据库存放目录下 2.如果数据库采用gbk编码方式,只需要选择 ‘ip_data_gbk.frm’‘ip_data_...

    多线程访问mysql数据库

    SetCharset------设置编码格式,主要是GB2312还是UTF8 ConnectDB------连接数据库 GetIdleMySql------获取一个未使用的mysql连接 ReleaseMysql------释放一个在使用的mysql连接 SelectRecordbySP/SelectRecord------...

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

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

Global site tag (gtag.js) - Google Analytics