MySQL会出现中文乱码的原因不外乎下列几点:
1.server本身设定问题,例如还停留在latin1
2.table的语系设定问题(包含character与collation)
3.客户端程式(例如php)的连线语系设定问题
强烈建议使用utf8!!!!
utf8可以兼容世界上所有字符!!!!
查看 并 修改Mysql的字符集编码格式:
查看默认的编码格式:
mysql> show variables like "%char%";
+--------------------------+---------------+
| Variable_name | Value |
+--------------------------+---------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | utf8 |
| character_set_system | utf8 |
+--------------------------+-------------+
注:以前2个来确定,可以使用set names utf8,set names gbk设置默认的编码格式;
执行SET NAMES utf8的效果等同于同时设定如下:
SET character_set_client='utf8';
SET character_set_connection='utf8';
SET character_set_results='utf8';
通过MySQL命令行修改:
mysql> set character_set_client=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_connection=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_database=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_results=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_server=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_system=utf8;
Query OK, 0 rows affected (0.01 sec)
mysql> set collation_connection=utf8;
Query OK, 0 rows affected (0.01 sec)
mysql> set collation_database=utf8;
Query OK, 0 rows affected (0.01 sec)
mysql> set collation_server=utf8;
Query OK, 0 rows affected (0.01 sec)
查看:
mysql> show variables like 'character_set_%';
+--------------------------+----------------------------+
| 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/ |
+--------------------------+----------------------------+
8 rows in set (0.03 sec)
分享到:
相关推荐
### MySQL字符集与乱码问题解析 在MySQL数据库管理中,字符集的配置与使用是十分重要的环节之一,尤其在处理多语言环境的数据时更是如此。如果字符集配置不当,很容易导致数据插入、查询过程中出现乱码问题。本文将...
查看mysql字符集MySQL 乱码的根源是的 MySQL 字符
### MySQL字符集乱码问题及解决方案 #### 一、问题背景 在使用MySQL数据库时,很多用户会遇到中文字符显示为乱码的情况。这通常是因为MySQL数据库中的字符集设置不一致导致的。例如,在命令行下操作MySQL时,可能会...
### MySQL字符集的基本概念 字符集(Character Set)定义了数据在存储和处理时所采用的编码标准,而校对集(Collation)则规定了字符集下的排序规则和比较方式。在MySQL中,主要涉及以下几个关键变量: - `...
2. **修改数据库和表的字符集**:如果需要长期解决此问题,可以考虑将整个数据库或特定表的字符集修改为GBK。例如: ```sql ALTER DATABASE database_name DEFAULT CHARACTER SET gbk; ALTER TABLE table_name ...
本文将详细介绍如何通过设定 MySQL 的字符集来解决终端乱码的问题。 #### 一、理解 MySQL 字符集相关变量 在 MySQL 中,有多个与字符集相关的系统变量,这些变量决定了数据在客户端和服务端之间的传输以及存储方式...
#### 二、查看当前MySQL字符集设置 通过执行以下SQL命令可以查看MySQL当前的字符集设置情况: ```sql SHOW VARIABLES LIKE 'character%'; ``` 这条命令会列出所有与“character”相关的变量及其当前值。根据输出的...
《MySQL字符集与乱码问题分析》一文深入探讨了字符编码的历史背景、技术细节以及在MySQL中的应用,尤其关注解决常见的乱码问题。本文将根据提供的内容摘要,详细阐述其中涉及的关键知识点。 ### 字符集背景知识 ##...
在实际的开发和应用中,MYSQL数据库中文乱码问题是一个常见的问题,这个问题的出现往往是由于数据库字符集的不正确设置所引起的。解决MYSQL数据库中文乱码问题需要从多方面入手,包括数据库创建、表创建、数据插入、...
### MySQL乱码问题解决方案 ...通过以上步骤,可以有效地解决由字符集不匹配导致的MySQL乱码问题。此外,建议统一使用UTF-8作为字符集,这样可以更好地支持国际化需求,减少因字符集差异带来的问题。
#### 三、MySQL字符集详解 1. **MySQL 4.1之前的版本**: - 在MySQL 4.0及之前版本中,主要使用的是`latin1`字符集,这是一个单字节编码方案,仅支持西欧语言。 - 这种字符集对于中文等多字节编码的语言支持不佳...
3. **更改表或字段的字符集**:通过下拉菜单选择正确的字符集和排序规则。 #### 四、常见问题及解决策略 - **问题一:数据导入后仍然出现乱码** - 检查源文件的字符编码是否与MySQL服务器的字符集设置一致。 - ...
docker mysql 字符集设置 使用 docker 启动 mysql 容器可能会出现中文乱码的情况,这里记录如何制作支持中文的 mysql 镜像 docker版本:18.06 mysql 版本:5.7 1. 创建 my.cnf 文件 [client] default-character-set=...
综上所述,解决MySQL乱码问题的关键在于理解和正确设置字符集。通过调整配置文件、数据库、表、字段以及客户端的字符集,以及在数据导入导出和SQL操作中注意编码问题,通常可以有效地避免和解决乱码现象。
总之,解决MySQL中的汉字乱码问题需要从多个层面进行检查和调整,确保字符集在整个数据处理链路中的一致性。理解字符集和编码的概念,以及它们在MySQL中的应用,对于避免和解决这类问题至关重要。
### 彻底解决C# ASP.NET 连接MySQL乱码问题 在开发过程中,尤其是在处理中文数据时,经常遇到的一个问题是数据库连接时出现乱码。本文将详细介绍如何彻底解决使用C# ASP.NET 应用程序连接 MySQL 数据库时出现的乱码...