转载自:http://www.ha97.com/5359.html
一、登录MySQL查看用SHOW VARIABLES LIKE ‘character%’;下字符集,显示如下:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
character_set_database和character_set_server的默认字符集还是latin1。
二、最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节):
1、在[client]字段里加入default-character-set=utf8,如下:
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8
2、在[mysqld]字段里加入character-set-server=utf8,如下:
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
character-set-server=utf8
3、在[mysql]字段里加入default-character-set=utf8,如下:
[mysql]
no-auto-rehash
default-character-set=utf8
修改完成后,service mysql restart重启mysql服务就生效。注意:[mysqld]字段与[mysql]字段是有区别的。这点在网上没人反馈过。
使用SHOW VARIABLES LIKE ‘character%’;查看,发现数据库编码全已改成utf8。
+--------------------------+----------------------------+
| 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 | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
4、如果上面的都修改了还乱码,那剩下问题就一定在connection连接层上。解决方法是在发送查询前执行一下下面这句(直接写在SQL文件的最前面):
SET NAMES ‘utf8′;
它相当于下面的三句指令:
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;
网上很多其他方法不能彻底解决这个问题,这个可以完美解决!
相关推荐
如果你在导入数据时依然遇到问题,可能是数据文件本身的编码格式与MySQL的字符集不匹配,需要先将数据文件转换为正确的编码格式再进行导入。 记住,每个数据库系统对字符集的处理方式可能有所不同,因此在处理类似...
在MySQL的配置文件`my.cnf`或`my.ini`中设置字符集为UTF-8是非常关键的一步。通过修改以下部分: ```plaintext [client] default-character-set=utf8 [mysqld] default-character-set=utf8 ``` 这确保了MySQL...
- 数据库编码:MySQL 5.5中的数据存储和检索需确保与Java应用的字符集一致,比如设置MySQL的字符集为utf8,以支持中文字符。 - Tomcat配置:Tomcat服务器的编码设置也很关键,需要在web.xml文件中设置字符编码,如...
在MySQL 5.5中,配置字符集是一个关键步骤,特别是在处理多语言数据或需要确保数据正确存储和显示的情况下。本文将深入探讨如何解决在设置MySQL字符集时遇到的问题,特别是针对`default-character-set=utf8`不被识别...
MySQL 5.5 默认编码问题一直是许多用户遇到...总之,将 MySQL 5.5 的默认编码更改为 UTF-8 是解决中文乱码问题的关键步骤。遵循上述步骤,可以确保你的数据库系统能正确处理各种语言的字符,从而提供更好的全球化服务。
MySQL 5.5字符集问题解析 在MySQL 5.5版本中,用户遇到了一个关于字符集配置的难题。通常,我们可以通过修改`my.cnf`配置文件来设定数据库的字符集,但在本次安装过程中,按照旧的方式设置`default-character-set=...
首先,我们需要统一MariaDB和MySQL的字符集为UTF8。我们可以通过两种方式来实现: 方式1:查询字符集设置 在“开始”菜单打开MariaDB Client,输入密码登陆后,执行“SHOW VARIABLES LIKE ‘CHARACTER_SET%;’”,...
从`utf8`切换到`utf8mb4`是为了应对Unicode编码的扩展,因为`utf8`仅支持基本多语言平面(BMP)内的字符,而`utf8mb4`则能支持全部的Unicode字符,包括4字节的UTF-8编码。 在MySQL 5.5及更高版本中,`utf8mb4`被...
建议选择“UTF-8”,这是目前最通用的编码格式,能支持多种语言,避免了因编码问题导致的数据丢失或乱码。 4. **设置密码**:紧接着,你需要为root用户设置一个安全的密码。确保密码包含大写字母、小写字母、数字和...
这种情况通常发生在字符集设置不一致或者配置不当的情况下,尤其是在使用MySQL 5.5版本时更为普遍。本文将详细介绍如何定位并解决Navicat连接MySQL时产生的乱码问题。 #### 寻找乱码的原因 要解决乱码问题,首先...
在MySQL的配置文件my.ini中设置这三个部分的默认字符集为UTF-8是解决乱码问题的关键步骤。 第一步,需要找到MySQL的安装目录,在Windows系统下通常是c:\Program Files\MySQL\MySQL Server 5.5。在这个目录下,找到...
通过以上步骤,即使在my.ini文件无法直接修改的情况下,也能有效地解决MySQL的中文乱码问题。不过,建议在操作前备份好数据,以防万一。同时,了解并掌握字符集的相关知识,对于避免和解决类似问题是非常有帮助的。
我们可以使用utf8字符集来避免乱码问题。同时,我们也需要在phpMyAdmin中设置正确的字符集,以避免乱码问题。 结论 乱码问题是一个常见的问题,但解决它们并不困难。只要我们了解Mysql和浏览器显示的原理,并正确...
MySQL 乱码问题通常涉及到字符集的设置和匹配,这里主要讨论的是由于选择了不合适的数据库字符集`utf8mb4`导致的乱码情况。在MySQL中,字符集用于定义数据存储和处理的编码方式,如果不同环节的字符集不一致,就会...
UTF-8编码是目前网络上最广泛使用的字符编码,可以处理中文、英文等多种语言,避免了因字符集问题导致的数据乱码。 5. **MySQL 5.5 版本特性**: MySQL 5.5 是一个重要的版本,引入了一些关键改进和新功能,例如: ...
在MySQL的`my.ini`配置文件中,`[client]`和`[mysqld]`部分需要设置字符集为UTF-8。在`[client]`下添加`default-character-set=utf8`,并在`[mysqld]`下更改`character-set-server=utf8`和`collation-server=utf8_...
- 如果使用的是MySQL 5.5以上版本,推荐使用`utf8mb4`字符集以支持更多的Unicode字符。 - 在进行任何修改之前,建议先测试新的字符集设置是否会影响现有的应用程序功能。 - 对于不同的Web框架和技术栈,设置字符集的...