Oracle Unicode轉中文(解碼)
CreateTime--2018年3月29日15:23:30
Author:Marydon
情景描述:
將數據庫中的某個字段誤存儲的是Unicode編碼,需要將其改成中文。
測試:
--將Unicode轉中文 select unistr(REPLACE('\u6d4b\u8bd5unicode\u8f6c\u4e2d\u6587','\u','\')) from dual;
結果是:測試unicode轉中文
實現:
--對某字段進行解碼 update tableName set columnName = unistr(replace(columnName,'\u','\'));
封裝:
/** * unicode轉中文 */ CREATE OR REPLACE FUNCTION UNICODE2CHINESE(ENCODE_TEXT IN VARCHAR2) RETURN VARCHAR2 IS V_SQL VARCHAR2(10000); --編碼轉換sql TEXT_BUFFER VARCHAR2(10000); --輸出中文 BEGIN V_SQL := 'select unistr(REPLACE(''' || ENCODE_TEXT || ''',''\u'',''\'')) from dual '; EXECUTE IMMEDIATE V_SQL INTO TEXT_BUFFER; RETURN TEXT_BUFFER; END;