当前位置:首页 > 系统运维 > 正文内容

MySQL中文问题的解决方案

a8116255316年前 (2010-05-17)系统运维8

以下的文章主要讲述的是MySQL中文问题的实际解决方案,我们大家都知道MySQL中文问题的编码设置与乱码问题一直是困扰计算机人员的心病,可以说对MySQL中文问题的编码设置与乱码问题的解决也是迫在眉睫。

MySQL 4.1的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序方式(Collation)。对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection)。我们最终的目标是使得这四个层次转化会支持中文的编码,下面以utf8为例。

1. 首先查看系统的字符集和排序方式。如果想查看某个特定的数据库的字符集和排序方式,应该先选定数据库,MySQL>use databasename;

MySQL> SHOW VARIABLES LIKE ''character_set_%'';   +--------------------------+----------------------------+   | Variable_name | Value |   +--------------------------+----------------------------+   | character_set_client | latin1 |   | character_set_connection | latin1 |   | character_set_database | latin1 |   | character_set_results | latin1 |   | character_set_server | latin1 |   | character_set_system | utf8 |   | character_sets_dir | /usr/share/MySQL/charsets/ |   +--------------------------+----------------------------+  

2 rows in set (0.00 sec)

MySQL> SHOW VARIABLES LIKE ''collation_%'';   +----------------------+-------------------+   | Variable_name | Value |   +----------------------+-------------------+   | collation_connection | latin1_swedish_ci |   | collation_database | latin1_swedish_ci |   | collation_server | latin1_swedish_ci |   +----------------------+-------------------+  

3 rows in set (0.00 sec) 上面列出的值就是系统的默认值,lanti是不支持中文的,所以我们把它改成urf8。

下面我们就来修改这四个层次的编码方式:

1 在my.cf文件的[MySQL中文问题]段设置:

default-character-set=utf8  

这条语句的作用是把character_set_client, character_set_connection_,character_set_results 设定为utf8,包括对应的排列方式的编码。 Character_set_server是系统编码,这个是不用改的。

当然改变character_set_client, character_set_connection_,character_set_results编码方式的另外一种 *** 是:

SET NAMES “UTF8”;  

它的作用相当于:

SET character_set_client = utf8;   SET character_set_results = utf8;   SET character_set_connection = utf8;  

2. 改变数据库的编码方式

alter database databasename character set utf8;  

通过以上的更改数据库的编码工作算是昨晚了,当然除了这个 *** 还有一个万能个的 *** ,那就是看着那个不是utf8,你只要把相应的编码改成utf8就可以了。格式如下:SET

character_set_client = utf8;  

3. 不管你是web编程还是桌面编程,你的数据库的连接地址url中,一定要后缀:

useUnicode=true&characterEncoding=utf-8/hibernate useUnicode=true&characterEncoding=utf-8

当然如果你采用了MySQL中文问题的管理工具如MySQL yog,MySQL manager那么你数据库设定也可以在可视化环境下直接设置。当然这也只是限制在database的设定。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/20310.html

分享给朋友:

“MySQL中文问题的解决方案” 的相关文章

如何设置Win 7通知栏重新显示电源按钮

如何设置Win 7通知栏重新显示电源按钮

有些使用本本的朋友可能会发现,右下角通知栏区域会无法显示电源按钮,导致在插上电源或者是使用电池的时候都无法进行区分。造成这种情况大部分都是因为使用了第三方修改过的系统版本或者对于系统优化过度,所以今天就来解决这个问题。 第一步:在开始菜单的搜索窗口输入“gpedit.msc”,进入组策略编辑器,依...

Windows7开机后出现黑一下屏性能降低

Windows7开机后出现黑一下屏性能降低

打开IE浏览器的时候、聊QQ的时候、玩游戏的时候… … 这到底是谁惹的祸呢? 很多人都知道Windows 7桌面特效全部开启会使系统性能降低,那到底是哪个特效导致的这一情况呢? 解决办法: 右键计算机,高级系统设置-性能-设置-关闭”任务栏和开始菜单使用动画“和”最大化和最小化动态显示窗口“...

windows 7查看电脑近期使用情况确定有没有被他人使用

windows 7查看电脑近期使用情况确定有没有被他人使用

我一个朋友最近装装了Windows 7,他总感觉有人用了他的电脑,但是一直不确定,他想知道有没有人动用他的电脑,问我有没有办法 我说设置一下就行了: 启动Windows 7,在搜索栏中输入编辑组,马上就搜索到了编辑组策略,点击即可启动程序编辑组策略。依次展开组策略左侧树形列表的计算机配置/管理模...

各个都很实用:windows 7系统电脑日常小技巧

各个都很实用:windows 7系统电脑日常小技巧

在使用Windows 7的时候很多用户对于系统的很多功能并不是很了解,也正是因为这样的不了解导致很多用户在使用Win 之后并不能体验Windows 7的功能便携和强大功能,导致很多用户对于Windows 7的认识还是比较模糊,不过为了让更多的朋友了解Windows 7的特点和便携应用,今天就为大家汇...

解决windows 7无法将程序锁定到任务栏或附到开始菜单的方法

解决windows 7无法将程序锁定到任务栏或附到开始菜单的方法

出现该问题的原因是由于使用第三方优化软件消除快捷方式的小箭头引起的。 1、在开始搜索框中键入“regedit”,按回车键打开注册表编辑器。 2、依次定位到以下分支:HKEY_CLASSES_ROOTlnkfile。 3、在lnkfile项上鼠标右键单击“新建”——“字符串值”。...

windows 7系统开机后出现黑屏提示Windows无法启动

windows 7系统开机后出现黑屏提示Windows无法启动

一些用户的Windows 7系统开机后出现黑屏,代码为 Windows无法启动: WindowsSystem32ConfigSystem”。这个问题该如何修复呢?现在小编就给大家分析一下吧。 其实这个代码的意思是引导文件丢失了,引导文件(NTLDR)一般存放于C盘根目录下,是一个具有隐藏和只读属性...