`

Mysql中编码的问题

阅读更多

在Mysql中,经常由于编码的问题搞得焦头烂额,要想搞定编码的问题,首先得理解编码的相关的知识.理论的东西我就不再缀述了.

 要知道自己的mysql现在用的是什么编码方式很简单,可以执行status命令查看.

   如下面信息:

 

 
mysql> status
--------------
mysql  Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (x86_64) using readline 5.1

Connection id:          655616
Current database:       vvop
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.0.77 Source distribution
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    utf8
Client characterset:    latin1
Conn.  characterset:    latin1
UNIX socket:            /var/lib/mysql/mysql.sock
Uptime:                 184 days 6 hours 6 min 51 sec

Threads: 6  Questions: 65587658  Slow queries: 0  Opens: 274  Flush tables: 1  Open tables: 64  Queries per second avg: 4.120

 

-------------------------------------------------

 

可以看到这里除了db的编码为utf8,其他的都是 latin1编码,这样往往在查询的时候,会导致乱码的出现.

要解决这种情况可以把开mysql的配置文件,一般在 /etc/my.cnf.

 

打开这个文件,如下形式:

 

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
max_allowed_packet=20485760
#skip-locking

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

修改其默认的编码格式方法:

1.在mysqld中加入 default-character-set =utf8
2.加入一个context为[mysql],并加入 default-character-set=utf8

 

如下:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
max_allowed_packet=20485760
#skip-locking
default-character-set =utf8

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[mysql]
default-character-set=utf8

 

 

最后,重启一下mysql: service mysqld restart

 

 

=======================================

 

再以status查看的时候,可以看到如下信息:

 

mysql> status
--------------
mysql  Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (x86_64) using readline 5.1

Connection id:          5
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.0.77 Source distribution
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:            /var/lib/mysql/mysql.sock
Uptime:                 7 min 22 sec

Threads: 3  Questions: 122  Slow queries: 0  Opens: 48  Flush tables: 1  Open tables: 42  Queries per second avg: 0.276

 

 

所有的编码都已经变成了utf8格式了.

 

================================

如果Db characterset 也不是utf8格式时,可以用以下的办法解决:

 

mysql -> use vvop

mysql -> alter database vvop character set utf8;

 

这样就ok了.

 

 

 

 


分享到:
评论

相关推荐

    MySql中文编码问题

    MySQL中文编码问题是一个常见的困扰,尤其是在处理中文字符集时。MySQL服务器默认的字符集可能不支持中文,导致在存储或查询中文数据时出现乱码。本文将详细介绍如何解决这一问题。 首先,我们要明白MySQL的字符集...

    MySQL中文编码设置

    在Java Web开发过程中,MySQL数据库中的中文编码问题是非常常见的技术难题之一。如果处理不当,可能会导致中文显示乱码、数据插入失败等问题。本文将深入探讨MySQL中文编码的相关设置,并提供一种有效的解决方案。 ...

    MySQL编码与中文显示

    MySQL 的编码方式是指数据库中存储数据的编码格式。 MySQL 的默认编码是 Latin1,也就是 ISO-8859-1 编码,这种编码格式不支持中文字符。因此,如果我们需要在 MySQL 中存储中文数据,就需要修改数据库的默认编码为 ...

    Mysql数据库编码问题 (修改数据库,表,字段编码为utf8)

    MySQL数据库编码问题涉及到字符集的选择、配置以及数据的迁移和处理。字符集是决定数据库中存储和检索文本数据的方式,对于多语言支持和数据迁移至关重要。UTF-8是一种广泛使用的多字节字符编码,支持全球大部分语言...

    全国省市区编码mysql

    全国省市区编码mysql全国省市区编码mysql全国省市区编码mysql全国省市区编码mysql

    mysql编码问题

    mysql编码问题

    mysql中文乱码问题

    MySQL 中文乱码问题解决方法 ...解决这个问题的关键是检查和修改 MySQL 服务器的编码方式,包括 character_set_server 变量的设置和 my.ini 文件中的配置。通过这些方法,我们可以轻松地解决 MySQL 中文乱码问题。

    Mysql字符集编码详解

    Mysql数据库中的字符集编码问题是许多开发者经常遇到的一个问题,特别是在JAVA项目中。解决这个问题需要从多方面入手,包括服务器、数据库、数据表和连接等四个层次。这篇文章将详细介绍如何解决Mysql数据库乱码问题...

    mysql的编码集修改方式

    ### MySQL的编码集修改方式详解 #### 背景与目的 MySQL作为一款广泛使用的开源关系型数据库管理系统,在处理各种语言的数据时,字符集的选择至关重要。特别是在全球化的大背景下,支持多语言成为数据库应用的基本...

    mysql插入数据库编码解决

    在处理MySQL数据库插入中文数据时,经常遇到编码问题导致乱码。这主要是由于不同环节的编码不一致所造成的。以下是两种解决方法,适用于普通Web项目和Struts框架的项目。 ### 方法一:普通Web项目 #### 1. 页面...

    ubuntu mysql中中文乱码问题.docx

    在 Ubuntu 系统中,MySQL 数据库中文乱码问题是一个常见的问题。乱码问题可能是由于 MySQL 数据库的字符编码设置不正确所致。解决这个问题需要对 MySQL 数据库的字符编码进行设置和调整。 标题解释 本文档的标题...

    安装MySQL之后修改编码方式

    在安装MySQL数据库后,有时用户会遇到编码问题,特别是当需要处理中文数据时。这是因为MySQL的默认字符集是Latin1,它不支持中文字符。为了能够正确地存储和显示中文,需要将数据库的编码方式更改为GBK或UTF-8。本文...

    MySQL 中修改编码配置文件全

    MySQL 中修改编码配置文件全面配置,适合初学者,一看就会!!

    解决C#操作Mysql时中文乱码问题(真的解决了)

    总的来说,解决C#操作MySQL中文乱码问题的关键在于保持从数据库配置到代码再到文件的整个过程中的编码一致性,使用UTF-8编码,并确保在每个环节都正确地指定和处理。通过以上步骤,你应该能够成功地避免中文乱码问题...

    mysql中文编码

    亲测可以解决mysql使用过程中的中文乱码问题,对于新手开说非常有用,分享给大家

    Unity3D教程:修改mysql字符编码成为UTF82

    本教程将介绍如何解决Unity3D中与MySQL数据库连接时的字符编码问题,确保数据能够正确地以UTF-8格式存储和读取。 首先,我们遇到的问题是即使设置表的默认字符集为UTF8,并且在发送查询时使用UTF-8编码,仍然会出现...

    java中MySQL中文乱码问题解决方案

    Java 中 MySQL 中文乱码问题解决方案 Java 中 MySQL 中文乱码问题是数据库开发中常见的问题之一,解决这个问题需要对数据库、JSP 和 Tomcat 进行相应的设置。下面我们将详细介绍解决该问题的方案。 数据库编码修改...

    更改MySql数据库的默认编码格式

    在 MySQL 数据库中,默认的编码格式对于数据的存储和读取起着至关重要的作用。如果我们想要更改 MySQL 数据库的默认编码格式,该如何操作呢?下面我们将详细地介绍如何更改 MySQL 数据库的默认编码格式。 一、设置...

    中国城市编码 sql mysql 数据库

    中国城市编码 sql mysql 数据库 ,中国所有的城市编码,三级城市编码,数据库脚本 ,中国城市编码 sql mysql 数据库 ,中国所有的城市编码,三级城市编码,数据库脚本 ,中国城市编码 sql mysql 数据库 ,中国所有的...

    解决连接mysql中文显示乱码

    这主要涉及到字符编码的兼容性和设置问题,尤其是在使用MySQL数据库与不同编程语言(如Java、JSP)进行交互时更为突出。以下是对如何解决连接MySQL时中文显示乱码问题的详细解析。 ### 解决中文显示乱码的关键知识...

Global site tag (gtag.js) - Google Analytics