在上篇文章里说到,网站会出现乱码的原因已经找到了,都是因为Mysql数据库的字符集不统一!所以,要解决乱码的问题,只要把Mysql数据库的字符集统一就起,就万事OK了!这里教大家怎样修改Mysql数据库的默认字符集。
想必大家做的大部分也都是中文站,笔者推荐大家做站都尽量的使用UTF-8的编码格式。至少UTF-8编码格式的好处,笔者这里就不在多说了,感兴趣的朋友可以去GG一下。修改mysql的默认字符集是通过修改它的配置文件来实现的。一般分两种情况:
Windows平台:
windows下的mysql配置文件是my.ini,一般在Mysql安装目录的根目录下面,打开配置文件,找到default-character-set项,直接修改为:
default-character-set=utf8
然后重新启动mysql,就可以了!
还有一种修改字符集的方法,就是使用mysql的命令:
-
mysql> SET character_set_client = utf8 ;
-
mysql> SET character_set_connection = utf8 ;
-
mysql> SET character_set_database = utf8 ;
-
mysql> SET character_set_results = utf8 ;
-
mysql> SET character_set_server = utf8 ;
-
-
mysql> SET collation_connection = utf8 ;
-
mysql> SET collation_database = utf8 ;
-
mysql> SET collation_server = utf8 ;
类Unix平台
在类Unix平台下,方法跟Windows平台下面类似,只是配置文件的存放目录与Windows系统下的不太一样,linux下的mysql配置文件是my.cnf,一般是/etc/my.cnf,如果找不到可以用find命令找一下:
- find / -iname my.cnf
找到default-character-set项,直接修改为:
default-character-set=utf8
然后重新启动mysql,就可以了!
注意:
一般就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句:
- SET NAMES 'utf8';
它相当于下面的三句指令:
-
SET character_set_client = utf8;
-
SET character_set_results = utf8;
-
SET character_set_connection = utf8;
总结:
因此,使用什么数据库版本,不管是3.x,还是4.0.x还是4.1.x,其实对我们来说不重要,重要的有二:
1) 正确的设定数据库编码.MySQL4.0以下版本的字符集总是默认ISO8859-1,MySQL4.1在安装的时候会让你选择。如果你准备使用UTF- 8,那么在创建数据库的时候就要指定好UTF-8(创建好以后也可以改,4.1以上版本还可以单独指定表的字符集)
2) 正确的设定数据库connection编码.设置好数据库的编码后,在连接数据库时候,应该指定connection的编码,比如使用jdbc连接时,指定连接为utf8方式.
分享到:
相关推荐
本文将深入探讨Oracle数据库字符集的概念、重要性、修改过程及其潜在问题,特别是当尝试修改数据库字符集时遇到的乱码问题。 ### Oracle数据库字符集概述 Oracle数据库字符集是指用于表示数据库中所有字符数据的...
### MySQL字符集乱码问题及解决方案 #### 一、问题背景 在使用MySQL数据库时,很多用户会遇到中文字符显示为乱码的情况。这通常是因为MySQL数据库中的字符集设置不一致导致的。例如,在命令行下操作MySQL时,可能会...
### Sybase数据库更换字符集方法,解决中文乱码问题 #### 概述 在使用Sybase数据库时,可能会遇到中文显示乱码的情况。这通常是因为系统使用的字符集与实际需要处理的数据字符集不匹配所导致的。为了确保数据正确...
首先,我们遇到的问题是即使设置表的默认字符集为UTF8,并且在发送查询时使用UTF-8编码,仍然会出现乱码的情况。这是因为在数据库连接层面上,字符集设置可能没有正确地同步。为了解决这个问题,我们需要在发送查询...
对于数据库级别的字符集设置问题,可以通过如下命令更改: ```sql ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_general_ci; ``` 3. **更改表的字符集**: 如果问题出现在特定表上,...
Sybase数据库中文字符集配置详解 Sybase数据库中文字符集配置是指在Sybase数据库中正确配置中文字符集的过程,以便正确...正确配置Sybase数据库的中文字符集可以避免中文字符乱码的问题,提高数据库的可靠性和稳定性。
### MySQL数据库字符集的问题研究 #### 一、MySQL字符集概述 MySQL数据库是瑞典MySQL AB公司开发的一款小型关系型数据库管理系统,因其速度快、易用性好、支持SQL、网络支持性好、可移植性好及费用低廉等特点,在...
2. **数据库表的字符集设置**:如果MySQL数据库中的表字符集不是统一的UTF-8,那么在查询时就可能出现乱码现象。 3. **连接参数配置不当**:在使用MyDAC组件建立数据库连接时,如果没有正确设置字符集参数,也可能...
2. **MySQL字符集转换**:在MySQL中,可以使用ALTER TABLE语句来更改表的字符集,或者在创建数据库、表或列时指定字符集。对于整个数据库的转换,需要备份现有数据,然后重建数据库并导入数据。过程中要特别注意数据...
MySQL数据库系统中文乱码问题是指在使用MySQL数据库系统时,中文字符在存储、传输和显示过程中出现乱码的问题。这种问题的出现是由于字符集和编码方式的不兼容所致。 在数据库设计和开发中,字符集和编码方式的选择...
在使用 PHPmyadmin 导出 MySql 数据库时,经常会遇到中文乱码的问题,这是因为数据库的字符集编码问题。中文网站使用的字符集编码一般是 gb2312、gbk、utf8 等三种,而 PHPmyadmin 的默认字符集是 latin1_swedish_ci...
在IT领域,尤其是在数据库管理与应用中,字符集的设置...通过上述方法,可以有效避免和解决由字符集配置不当导致的乱码问题,确保MySQL中的数据能够被正确地存储、检索和展示,从而提高数据库系统的稳定性和用户体验。
### MySQL字符集与乱码问题解析 在MySQL数据库管理中,字符集的配置与使用是十分重要的环节之一,尤其在处理多语言环境的数据时更是如此。如果字符集配置不当,很容易导致数据插入、查询过程中出现乱码问题。本文将...
**问题描述**:在安装MySQL数据库时,默认情况下可能没有正确配置字符集,导致后续的数据处理中出现乱码。 **解决方法**: 1. **修改配置文件**: - 找到`/usr/local/mysql/share/mysql`目录下的配置文件`my-...
MySQL数据库字符集与排序规则是数据库设计中的重要概念,它们直接影响到数据的存储、检索以及跨语言支持。字符集定义了数据库中字符的编码方式,而排序规则则规定了字符的比较和排序逻辑。 首先,字符集(Character...
更改 MySql 数据库的默认编码格式 ...更改 MySQL 数据库的默认编码格式可以通过修改配置文件、客户端工具和 Web.config 文件中的设置来实现。这将保证我们的应用程序能够正确地读取和写入数据,避免乱码问题的出现。