1、MySql数据库安装时默认编码是Latin1,要支持中午需要在安装时设置数据库编码为gbk或utf-8。
2、在创建数据库时也需要设置数据库编码和上述数据库的编码格式为gbk或utf-8。
3、出现数据库乱码时可以安装以下方式来解决:
首先产看数据库字符集
show variables like 'character%';
上述表中:
1、charater_set_client:客户端连接使用编码; 此处编码可以通过客户端连接串来指定: jdbc:mysql://localhost:3306/test? useUnicode=true&characterEncoding=gbk;也可以通过后面配置文件指定;或者命令方式指定;
2、character_set_connection:数据库连接使用的编码; 3、 character_set_database:数据库编码(表,列),该编码在安装数据库时可指定或命令指定;
4、character_set_results:结果集(客户端显示)的编码;
5、character_set_server:数据库服务器的编码,该编码可以通过后面配置文件指定或命令指定。
MySql处理连接时,外部连接发送过来的SQL请求会根据以下顺序进行转换:character_set_client ->character_set_connection ->character_set_database ->character_set_results
产生乱码的根本原因在于:
1.客户端(character_set_client)没有正确地设置client字符集,导致原先的SQL语句被转换成connection所指字符集,而这种转换,是会丢失信息的,如果client是utf8格式,那么如果转换成gb2312格式,这其中必定会丢失信息,反之则不会丢失。一定要保证connection的字符集大于client字符集才能保证转换不丢失信息。
2. 数据库字体没有设置正确,如果数据库字体设置不正确,那么connection字符集转换成database字符集照样丢失编码,原因跟上面一样。
1.客户端(character_set_client)没有正确地设置client字符集,导致原先的SQL语句被转换成connection所指字符集,而这种转换,是会丢失信息的,如果client是utf8格式,那么如果转换成gb2312格式,这其中必定会丢失信息,反之则不会丢失。一定要保证connection的字符集大于client字符集才能保证转换不丢失信息。
2. 数据库字体没有设置正确,如果数据库字体设置不正确,那么connection字符集转换成database字符集照样丢失编码,原因跟上面一样。
方式一:安装指定数据库编码+修改配置文件
1、在安装数据库时选择某一编码gbk/utf-8,相当设定character_set_database编码
2、在my.ini中也可以修改
CLIENT SECTION # ---------------------------------------------------------------------- # The following options will be read by MySQL client applications. # Note that only client applications shipped by MySQL are guaranteed # to read this section. If you want your own MySQL client program to # honor these values, you need to specify it as an option during the # MySQL client library initialization. # [client] port=3306 [mysql] default-character-set=gbk
# SERVER SECTION # ---------------------------------------------------------------------- # # The following options will be read by the MySQL Server. Make sure that # you have installed the server correctly (see above) so it reads this # file. # [mysqld] # The TCP/IP Port the MySQL Server will listen on port=3306 #Path to installation directory. All paths are usually resolved relative to this. basedir="C:/Program Files/MySQL/MySQL Server 5.5/" #Path to the database root datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" # The default character set that will be used when a new schema or table is # created and no character set is defined character-set-server=latin1此处修改server端字符编码
方式二:通过命令行来修改
set character_set_client=gbk; commit; set character_set_connection=gbk; commit; set character_set_database=gbk; commit; set character_set_results=gbk; commit; set character_set_server=gbk; commit; set character_set_filesystem=gbk; commit; set collation_connection=gbk_general_ci; commit; set collation_database=gbk_general_ci; commit; set collation_server=gbk_general_ci; commit;
同样的可以采用如下命令来查看数据库的编码:
相关推荐
MySQL数据库系统中文乱码问题及解决方案 MySQL数据库系统中文乱码问题是指在使用MySQL数据库系统时,中文字符在存储、传输和显示过程中出现乱码的问题。这种问题的出现是由于字符集和编码方式的不兼容所致。 在...
MySql 数据库导入乱码解决方案 在使用 PHPmyadmin 导出 MySql 数据库时,经常会遇到中文乱码的问题,这是因为数据库的字符集编码问题。中文网站使用的字符集编码一般是 gb2312、gbk、utf8 等三种,而 PHPmyadmin 的...
MYSQL数据库中文乱码问题解决方案 MYSQL数据库中文乱码问题是许多开发者和数据库管理员经常遇到的问题,尤其是在导入和导出数据时。下面总结了一些常见的解决方案和技巧,以供参考。 方法一:使用正确的命令 在...
### 在DELPHI中使用MyDAC连接MySQL数据库时中文显示乱码的解决方法 #### 背景介绍 在软件开发过程中,特别是涉及到多语言环境的应用程序开发时,字符编码问题常常成为开发者需要解决的一个重要问题。对于使用...
本文将详细介绍解决Mysql5.0数据库中文乱码的万能方法,帮助你顺利处理这一常见问题。 1. **安装时设置编码** 在安装MySQL时,确保选择支持UTF-8编码的配置。UTF-8是一种广泛使用的多字节字符集,能支持大部分世界...
#### 四、MySQL乱码解决方案 1. **检查MySQL服务器端字符集设置**: - 使用命令`SHOW VARIABLES LIKE 'character_set_%';`来查看当前MySQL服务器上的各种字符集设置。 - 如果发现任何一项字符集设置不正确(比如...
本文将深入解析中文乱码产生的原因,并提供一系列解决方案,帮助用户有效解决MySQL数据库中的中文乱码问题。 首先,我们需要理解字符集和校对规则的概念。字符集是一组符号和编码的规则,用于数据的存储和表示。在...
JSQ+MyBatis+MySQL 中文乱码解决方案 中文乱码是 JSQ、MyBatis 和 MySQL 集成时常见的问题,解决这个问题需要从多方面入手。本文将从 JSP、MyBatis 和 MySQL 三个方面来解决中文乱码问题。 JSP 中文乱码解决方案 ...
部分内容显示了 MySQL 数据库中中文乱码问题的解决方案。首先,需要检查 MySQL 数据库的字符编码设置。可使用 SHOW VARIABLES LIKE '%char%' 命令来查看当前的字符编码设置。然后,需要将字符编码设置为 utf8,以...
### MySQL数据库乱码问题解析与解决方案 #### 一、引言 在使用MySQL数据库的过程中,字符集设置不当可能会导致数据存储或查询时出现乱码问题。本文将针对MySQL数据库中的乱码现象进行深入分析,并提供相应的解决...
MySQL数据库在处理中文字符时,有时会出现乱码问题,这主要与字符集设置不正确有关。本文将深入探讨MySQL中文乱码问题的原因、解决方法,以及如何在创建数据库和表时避免这类问题。 首先,我们要了解字符集的概念。...
### jsp+mysql中文乱码解决方案集合 在使用JSP结合MySQL进行Web应用开发时,中文乱码问题一直是困扰开发者的一大难题。本文将详细介绍如何在MySQL数据库层面解决中文乱码问题,并提供一系列实用的方法和技巧。 ###...
本文将深入探讨MySQL中文乱码问题的原因、表现以及解决方案。 首先,我们需要理解字符编码的基础知识。字符编码是用来表示文本字符的规则,常见的有ASCII、GBK和UTF-8等。在MySQL中,不同的编码对应不同的字符集,...
Kettle 推送数据到 Mysql 数据库表时乱码解决方案 Kettle 是一个功能强大且流行的数据集成工具,广泛应用于数据抽取、转换和加载(ETL)过程中。然而,在使用 Kettle 将数据推送到 Mysql 数据库表时,可能会出现...
### 解决MYSQL数据库乱码问题 #### 背景与问题描述 在使用Navicat连接MySQL数据库的过程中,用户可能会遇到一个常见的问题:乱码。这种情况通常发生在字符集设置不一致或者配置不当的情况下,尤其是在使用MySQL ...
### PHP+MySQL中文乱码解决方案 #### 一、概述 在使用PHP与MySQL进行Web开发的过程中,中文乱码问题是常见的一个问题。通常情况下,这主要是由于系统各部分(如PHP脚本、MySQL数据库、操作系统等)之间的字符编码...