`

MySql数据库中文乱码解决方案

 
阅读更多

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、在安装数据库时选择某一编码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;
同样的可以采用如下命令来查看数据库的编码:

 
 
 
 

 

 

 

  • 大小: 9.7 KB
  • 大小: 4.8 KB
分享到:
评论

相关推荐

    MySQL数据库系统中文乱码问题及解决方案.pdf

    MySQL数据库系统中文乱码问题及解决方案 MySQL数据库系统中文乱码问题是指在使用MySQL数据库系统时,中文字符在存储、传输和显示过程中出现乱码的问题。这种问题的出现是由于字符集和编码方式的不兼容所致。 在...

    MySql数据库导入乱码

    MySql 数据库导入乱码解决方案 在使用 PHPmyadmin 导出 MySql 数据库时,经常会遇到中文乱码的问题,这是因为数据库的字符集编码问题。中文网站使用的字符集编码一般是 gb2312、gbk、utf8 等三种,而 PHPmyadmin 的...

    MYSQL数据库中文乱码问题.docx

    MYSQL数据库中文乱码问题解决方案 MYSQL数据库中文乱码问题是许多开发者和数据库管理员经常遇到的问题,尤其是在导入和导出数据时。下面总结了一些常见的解决方案和技巧,以供参考。 方法一:使用正确的命令 在...

    在DELPHI中使用MyDAC连接MySQL数据库时中文显示乱码的解决方法

    ### 在DELPHI中使用MyDAC连接MySQL数据库时中文显示乱码的解决方法 #### 背景介绍 在软件开发过程中,特别是涉及到多语言环境的应用程序开发时,字符编码问题常常成为开发者需要解决的一个重要问题。对于使用...

    解决Mysql5.0数据库中文乱码解决方案

    本文将详细介绍解决Mysql5.0数据库中文乱码的万能方法,帮助你顺利处理这一常见问题。 1. **安装时设置编码** 在安装MySQL时,确保选择支持UTF-8编码的配置。UTF-8是一种广泛使用的多字节字符集,能支持大部分世界...

    MySQL乱码解决方案数据库乱码

    #### 四、MySQL乱码解决方案 1. **检查MySQL服务器端字符集设置**: - 使用命令`SHOW VARIABLES LIKE 'character_set_%';`来查看当前MySQL服务器上的各种字符集设置。 - 如果发现任何一项字符集设置不正确(比如...

    linux运维学习笔记:MySQL数据库中文乱码原理及解决乱码方案.pdf

    本文将深入解析中文乱码产生的原因,并提供一系列解决方案,帮助用户有效解决MySQL数据库中的中文乱码问题。 首先,我们需要理解字符集和校对规则的概念。字符集是一组符号和编码的规则,用于数据的存储和表示。在...

    jsq+mybatis+mysql中文乱码解决方案

    JSQ+MyBatis+MySQL 中文乱码解决方案 中文乱码是 JSQ、MyBatis 和 MySQL 集成时常见的问题,解决这个问题需要从多方面入手。本文将从 JSP、MyBatis 和 MySQL 三个方面来解决中文乱码问题。 JSP 中文乱码解决方案 ...

    ubuntu mysql中中文乱码问题.docx

    部分内容显示了 MySQL 数据库中中文乱码问题的解决方案。首先,需要检查 MySQL 数据库的字符编码设置。可使用 SHOW VARIABLES LIKE '%char%' 命令来查看当前的字符编码设置。然后,需要将字符编码设置为 utf8,以...

    MySQL数据库—乱码总结

    ### MySQL数据库乱码问题解析与解决方案 #### 一、引言 在使用MySQL数据库的过程中,字符集设置不当可能会导致数据存储或查询时出现乱码问题。本文将针对MySQL数据库中的乱码现象进行深入分析,并提供相应的解决...

    Mysql中文乱码问题解决方案

    MySQL数据库在处理中文字符时,有时会出现乱码问题,这主要与字符集设置不正确有关。本文将深入探讨MySQL中文乱码问题的原因、解决方法,以及如何在创建数据库和表时避免这类问题。 首先,我们要了解字符集的概念。...

    jsp+mysql中文乱码解决方案集合

    ### jsp+mysql中文乱码解决方案集合 在使用JSP结合MySQL进行Web应用开发时,中文乱码问题一直是困扰开发者的一大难题。本文将详细介绍如何在MySQL数据库层面解决中文乱码问题,并提供一系列实用的方法和技巧。 ###...

    mysql数据库中文乱码问题共2页.pdf.zip

    本文将深入探讨MySQL中文乱码问题的原因、表现以及解决方案。 首先,我们需要理解字符编码的基础知识。字符编码是用来表示文本字符的规则,常见的有ASCII、GBK和UTF-8等。在MySQL中,不同的编码对应不同的字符集,...

    Kettle推送数据到Mysql数据库表时乱码.docx

    Kettle 推送数据到 Mysql 数据库表时乱码解决方案 Kettle 是一个功能强大且流行的数据集成工具,广泛应用于数据抽取、转换和加载(ETL)过程中。然而,在使用 Kettle 将数据推送到 Mysql 数据库表时,可能会出现...

    解决MYSQL数据库乱码问题

    ### 解决MYSQL数据库乱码问题 #### 背景与问题描述 在使用Navicat连接MySQL数据库的过程中,用户可能会遇到一个常见的问题:乱码。这种情况通常发生在字符集设置不一致或者配置不当的情况下,尤其是在使用MySQL ...

    PHP+MySql中文乱码解决方案

    ### PHP+MySQL中文乱码解决方案 #### 一、概述 在使用PHP与MySQL进行Web开发的过程中,中文乱码问题是常见的一个问题。通常情况下,这主要是由于系统各部分(如PHP脚本、MySQL数据库、操作系统等)之间的字符编码...

Global site tag (gtag.js) - Google Analytics