仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 799|回复: 8
打印 上一主题 下一主题

[学习教程] 公布MySQL数据库编码成绩周全剖析

[复制链接]
兰色精灵 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 20:12:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
你不用花费很多时间和金钱来培训现有的职工,或者去花大价钱雇用那些拥有各种证书的开发者。因为MySQL的维护和管理在很大程度上是“傻瓜型”的。MySQL数据库的4.1是一个分水岭,4.1间接撑持Unicode,以下版本撑持的欠好。
MysqlJDBCDriver的3.0.16也是一个分水岭,3.0.16版本会取数据库自己的编码,然后依照该编码转换,这类体例和Oracle的JDBCDriver是一样的。比方你的数据库是GBK编码的话,JDBCDriver就会把数据库内里的掏出来的字符串依照GBK往unicode转换,送给JVM。因而准确的设置数据库自己的编码就尤其主要。
MysqlJDBCDriver3.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以上版本的JDBCDriver,那末你就不必要再写甚么characterEncoding=UTF-8

如许,假如,数据库服务器利用的是utf-8,那末,jdbc就会把数据库的内容用utf-8格局传到JVM中。
而,假如数据库服务器中的某个数据库利用的编码是gbk,那末就会产生编码纷歧致的毛病!这时候,你可使?characterEncoding=GBK强迫利用gbk编码传送到JVM中。
大概,你也能够把全部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,那末就应当把数据库服务器和数据库的编码格局全体转为利用gbk,不然大概会呈现成绩。
客户还是可以使用DBaaS系统所能提供的所有能力。数据库云服务消除了组织对专职人员、本地数据库存储设备的需要。他们不必安装、配置和维护任何软硬件。
深爱那片海 该用户已被删除
沙发
发表于 2015-1-18 18:33:09 | 只看该作者
一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。
变相怪杰 该用户已被删除
板凳
发表于 2015-1-27 09:17:33 | 只看该作者
我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力
简单生活 该用户已被删除
地板
发表于 2015-2-5 09:26:15 | 只看该作者
然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情
admin 该用户已被删除
5#
发表于 2015-2-11 08:40:45 | 只看该作者
对递归类的树遍历很有帮助。个人感觉这个真是太棒了!阅读清晰,非常有时代感。
兰色精灵 该用户已被删除
6#
 楼主| 发表于 2015-3-2 04:51:07 | 只看该作者
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
第二个灵魂 该用户已被删除
7#
发表于 2015-3-11 03:02:30 | 只看该作者
其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-17 19:27:45 | 只看该作者
不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?
莫相离 该用户已被删除
9#
发表于 2015-3-24 22:47:18 | 只看该作者
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-4 08:56

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表