MySQL数据库编码的问题解决

php中文网
发布: 2016-06-07 16:09:23
原创
1211人浏览过

以下的文章主要是对MySQL数据库编码的相关问题的全面解析,我们大家都知道Mysql数据库的4.1可以作为一个分水岭,其直接支持的是Unicode,以下的相关版本支持的不是很好。以下就是文章的详细内容。 我们大家都知道Mysql JDBC Driver的3.0.16是一个分水岭,3.0

以下的文章主要是对mysql数据库编码的相关问题的全面解析,我们大家都知道mysql数据库的4.1可以作为一个分水岭,其直接支持的是unicode,以下的相关版本支持的不是很好。以下就是文章的详细内容。

我们大家都知道Mysql JDBC Driver的3.0.16是一个分水岭,3.0.16版本会取数据库本身的MySQL数据库编码,然后按照该编码转换,这种方式和Oracle的JDBC Driver是一样的。例如你的数据库是GBK编码的话,JDBC Driver就会把数据库里面的取出来的字符串按照GBK往unicode转换,送给JVM。因此正确的设置数据库本身的编码就尤为重要。

Mysql JDBC Driver3.0.16以下的版本则不然,它不会那么智能的根据数据库编码来确定如何转换,它总是默认使用ISO8859-1,因此你必须使用 characterEncoding=GBK来强制他把数据库中取出来的字符串按照GBK来往unicode转换。

因此,使用什么数据库版本,不管是3.x,还是4.0.x还是4.1.x,其实对我们来说不重要,重要的有二:

1) 正确的设定数据库编码,Mysql4.0以下版本的字符集总是默认ISO8859-1,Mysql4.1在安装的时候会让你选择。如果你准备使用UTF- 8,那么在创建数据库的时候就要指定好UTF-8(创建好以后也可以改,4.1以上版本还可以单独指定表的字符集)

2) 使用3.0.16以上版本的JDBC Driver,那么你就不需要再写什么characterEncoding=UTF-8

这样,如果,数据库服务器使用的是utf-8,那么,jdbc就会把数据库的内容用utf-8格式传到JVM中。

而,如果数据库服务器中的某个数据库使用的编码是gbk,那么就会发生MySQL数据库编码不一致的错误!这时,你可以使?characterEncoding=GBK强制使用gbk编码传递到JVM中。

ZYCH自由策划企业网站管理系统06 Build210109
ZYCH自由策划企业网站管理系统06 Build210109

ZYCH自由策划企业网站管理系统是一个智能ASP网站管理程序,是基于自由策划企业网站系列的升级版,结合以往版本的功能优势,解决了频道模板不能自由添加删减的问题,系统开发代码编写工整,方便读懂,系统采用程序模板分离式开发。方便制作模板后台模板切换,模板采用动态编写,此模板方式写入快,代码编写自由,即能满足直接使用也能满足二次开发。全新的后台界面,不管是在程序的内部结构还是界面风格及CSS上都做了大量

ZYCH自由策划企业网站管理系统06 Build210109 1
查看详情 ZYCH自由策划企业网站管理系统06 Build210109

或者,你也可以把整个Mysql数据库服务器的编码转变为gbk。

在Mysql中,默认使用的是lartin1,也就是ISO8859-1字符集编码。这是一种8位的编码,适用于所有西欧字符。而对于汉字等是不合适的。

最好、最通用的编码格式是utf-8,这时一种8位的Unicode字符集。它对于8位的西欧字符集来说,比较节省空间,而又能够有效地表示汉字等字符。

因此,将Mysql数据库服务器设置为utf-8格式,把所有的Mysql数据库也设置为utf-8格式,这是最佳的选择!全世界所有语言都可以很好的得到支持!

但是,一些常用的Mysql工具无法显示utf-8格式的中文。如,Mysql自带的工具,Mysql-Front等软件。但是,MyManger和命令行下的Mysql是可以正常显示utf-8格式的中文的。

如果,你选择使用gbk,那么就应该把数据库服务器和数据库的MySQL数据库编码格式全部转为使用gbk,否则可能会出现问题。


相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号