程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 帶您學習DB2字符集和MySql字符集

帶您學習DB2字符集和MySql字符集

編輯:DB2教程

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格式的,不會出錯!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved