以mysql和db2為例,解釋一下資料庫的字符集。
建立資料庫時或建表時有預設的字符集,
mysql中
create table **** (
id varchar(225) default null
) engine=innodb default charset=utf8
db2中
create database ktzpdb using codeset utf8 territory cn
[size=small] 這樣就把資料庫或每張表的字元編碼設為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編碼格式,是不能儲存中文或其他非英文本元的。
[color=red] 總之,如果用了自帶的命令視窗,mysql的匯入檔案的編碼必須和命令視窗的字元編碼一致,否則裡面的資料中的中文字元等無法正常識別,而db2的命令視窗一般還是設成1386,即gbk就行,檔案也是ansi格式的,不會出錯!s[/color][/size]
資料庫字符集
1 檢視資料庫字符集 資料庫伺服器字符集select from nls database parameters,其 於props 是表示資料庫的字符集。客戶端字符集環境select from nls instance parameters,其 於v parameter,表示客戶端的字符集的設定,可能...
oracle 資料庫字符集
oracle全球支援 即globalization support 允許我們使用本地語言和格式來儲存和檢索資料。通過全球支援,oracle可以支援多種語言及字符集,得以展示資料庫的強大魅力。1 字符集的基本知識 如果從頭說起,字符集最早的編碼方案來自於與ascii.這也是我們最常見的編碼方式。該方案...
oracle資料庫字符集
一 什麼是oracle字符集 oracle字符集是乙個位元組資料的解釋的符號集合,有大小之分,有相互的包容關係。oracle 支援國家語言的體系結構允許你使用本地化語言來儲存,處理,檢索資料。它使資料庫工具,錯誤訊息,排序次序,日期,時間,貨幣,數字,和日曆自動適應本地化語言和平台。影響oracle...