溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Oracle 生僻字亂碼解決方案

發(fā)布時間:2020-08-11 19:48:24 來源:ITPUB博客 閱讀:2341 作者:chenoracle 欄目:關(guān)系型數(shù)據(jù)庫

Oracle 生僻字亂碼解決方案

 

Oracle 生僻字亂碼解決方案”(此+夕)【 su ǒ】字亂碼,無法正常顯示(變成問號);

生僻字“ Oracle 生僻字亂碼解決方案”(此 + 夕) (suo) ZHS16GBK 字符集下默認(rèn)無法正常顯示;

測試將生僻字類型由 varchar2 改成 nvarchar2 ,同時使用 utl_raw.cast_to_nvarchar2 函數(shù)可以在數(shù)據(jù)庫里正常顯示;

Oracle 生僻字亂碼解決方案

select * from t1;

Oracle 生僻字亂碼解決方案

Oracle 生僻字亂碼解決方案

Oracle 生僻字亂碼解決方案

數(shù)據(jù)庫字符集如下:

select * from nls_database_parameters;

Oracle 生僻字亂碼解決方案

T1 表結(jié)構(gòu)如下:

Oracle 生僻字亂碼解決方案

A 字段為 VARCHAR2 類型

http://tool.chinaz.com/tools/unicode.aspx
---將生僻字生成對應(yīng)的unicode編碼

Oracle 生僻字亂碼解決方案

select utl_raw.cast_to_varchar2('3C54') from dual;

Oracle 生僻字亂碼解決方案

select utl_raw.cast_to_nvarchar2('3C54') from dual;

Oracle 生僻字亂碼解決方案

--- 測試 varchar2 類型無法正常存儲生僻字 Oracle 生僻字亂碼解決方案

truncate table t1;

alter table t1 modify (a nvarchar2(100));

insert into t1 values('? ' ,1);

select * from t1;

Oracle 生僻字亂碼解決方案

update t1

   set a =

       (select utl_raw.cast_to_nvarchar2('3C54') from dual)

 where b = 1;

select * from t1;

Oracle 生僻字亂碼解決方案

 

--- 測試 nvarchar2 類型可以正常存儲生僻字 Oracle 生僻字亂碼解決方案

truncate table t1;

alter table t1 modify (a nvarchar2(100));

insert into t1 values('? ' ,1);

select * from t1;

Oracle 生僻字亂碼解決方案

update t1

   set a =

       (select utl_raw.cast_to_nvarchar2('3C54') from dual)

 where b = 1;

 

select * from t1;

Oracle 生僻字亂碼解決方案

  歡迎關(guān)注我的微信公眾號"IT小Chen",共同學(xué)習(xí),共同成長!??!

Oracle 生僻字亂碼解決方案

Oracle 生僻字亂碼解決方案


向AI問一下細(xì)節(jié)

免責(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)容。

AI