查看數據庫字符集(sqlserver、oracle、db2)

問題描述
最近發現在不同的數據庫中,有時中文佔用2個字節,有時佔用3個字節;
經過分析發現,對於varchar類型的字段:
如果數據庫字符集使用utf-8,則3個字節表示一箇中文;
如果數據庫字符集使用gbk,則2個字節表示一箇中文;
數據庫字符集查看方式如下:

查看數據庫字符集
/*
UTF8
是一種針對Unicode的可變長度字符編碼,
對英文使用8位(1個字節)編碼,
中文使用24位(3個字節)編碼

GBK
是在國家標準GB2312基礎上擴容後兼容GB2312的標準,中英文都是2個字節。
*/

-- 查看sqlserver字符集
SELECT SERVERPROPERTY('Collation') AS Collation, COLLATIONPROPERTY('Chinese_PRC_CI_AS', 'CodePage') AS CodePage;
-- 結果
-- Collation    CodePage
-- Chinese_PRC_CI_AS    936

-- 查看db2字符集
SELECT NAME,value FROM SYSIBMADM.DBCFG WHERE NAME LIKE '%code%';
-- 結果
-- NAME    VALUE
-- codepage    1208
-- codeset    UTF-8

-- 查看oracle字符集
SELECT * FROM nls_database_parameters WHERE PARAMETER = 'NLS_CHARACTERSET';
-- 結果
-- PARAMETER    VALUE
-- NLS_CHARACTERSET    ZHS16GBK

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章