带您学习DB2字符集和MySql字符集

DB2字符集相信大家都有一定的认识,那么,DB2字符集对于DB2数据库来说,重要性在哪里呢?下面以MySql和DB2为例,解释一下数据库的字符集。

创建数据库时或建表时有默认的字符集,

MySql中Sql代码

 
 
 
  1. CREATE TABLE fuck ( 
  2. id varchar(225) DEFAULT NULL
  3. ) ENGINE=InnoDB DEFAULT CHARSET=utf8
 
 
 
  1. CREATE TABLE fuck (
  2.   id varchar(225) DEFAULT NULL
  3. ) ENGINE=InnoDB DEFAULT CHARSET=utf8

DB2中Sql代码

 
 
 
  1. create database ktzpdbusing codeset UTF8 territory cn
  2. create database ktzpdb  using codeset UTF8 territory cn

这样就把数据库或每张表的字符编码设为utf8了,当我们直接用mysql或db2自带的命令窗口去插入中文时,却不能插入,这就是命令窗口的编码问题了。

一般命令窗口的字符编码应该为gbk,这样我们才能正常的插入和显示。如Mysql中可以用配置文件my.ini制定gbk,也可以在窗口中打set names gbk;

DB2中在命令窗口中打 db2set DB2CODEPAGE=1386。当我们敲中文插数据进去时,实际上表数据就是以utf8存储的,而在命令窗口下由于设置成了gbk,我们就能正常看到中文了。

当用mysql中 source d:/insertData.sql或用db2中的db2 -tf d:/**.sql 这种执行sql文件的命令时,该sql必须和当前命令窗口的字符编码一致,就是上述的gbk,可用记事本另存为ANSI即行。如果sql编码不一致,如是utf8,那么客户端的gbk不能识别文件中的utf8编码格式,是不能存储中文或其他非英文字符的。

总之,如果用了自带的命令窗口,MySql的导入文件的编码必须和命令窗口的字符编码一致,否则里面的数据中的中文字符等无法正常识别,而DB2的命令窗口一般还是设成1386,即GBK就行,文件也是ANSI格式的,不会出错!

分享标题:带您学习DB2字符集和MySql字符集
网页URL:http://www.csdahua.cn/qtweb/news18/472968.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网