您好,登錄后才能下訂單哦!
Oracle 生僻字亂碼解決方案
“ ”(此+夕)【 su ǒ】字亂碼,無法正常顯示(變成問號);
生僻字“ ”(此 + 夕) (suo) 在 ZHS16GBK 字符集下默認(rèn)無法正常顯示;
測試將生僻字類型由
varchar2
改成
nvarchar2
,同時使用
utl_raw.cast_to_nvarchar2
函數(shù)可以在數(shù)據(jù)庫里正常顯示;
select * from t1;
數(shù)據(jù)庫字符集如下:
select * from nls_database_parameters;
T1 表結(jié)構(gòu)如下:
A
字段為
VARCHAR2
類型
http://tool.chinaz.com/tools/unicode.aspx
---將生僻字生成對應(yīng)的unicode編碼
select utl_raw.cast_to_varchar2('3C54') from dual;
select utl_raw.cast_to_nvarchar2('3C54') from dual;
--- 測試 varchar2 類型無法正常存儲生僻字 ” ”
truncate table t1;
alter table t1 modify (a nvarchar2(100));
insert into t1 values('? ' ,1);
select * from t1;
update t1
set a =
(select utl_raw.cast_to_nvarchar2('3C54') from dual)
where b = 1;
select * from t1;
--- 測試 nvarchar2 類型可以正常存儲生僻字 ” ‘
truncate table t1;
alter table t1 modify (a nvarchar2(100));
insert into t1 values('? ' ,1);
select * from t1;
update t1
set a =
(select utl_raw.cast_to_nvarchar2('3C54') from dual)
where b = 1;
select * from t1;
歡迎關(guān)注我的微信公眾號"IT小Chen",共同學(xué)習(xí),共同成長!??!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。