我尝试将丹麦国家角色转换为unicode。在plsql或plsql函数中有函数可以帮助我吗?我试试这个select convert ('Æ, æ:,Ø, ø:,Å, å:','AL32UTF8') from dual;
,但它没有帮助。作为一种解决方法,我在我的代码中使用了类似的东西
w_temp := replace('Æ, æ:,Ø, ø:,Å, å:','å','\u00E5');
w_temp := replace(w_temp,'Å','\u00C5');
w_temp := replace(w_temp,'æ','\u00E6');
w_temp := replace(w_temp,'Æ','\u00C6');
w_temp := replace(w_temp,'ø','\u00F8');
w_temp := replace(w_temp,'Ø','\u00D8');
但这种方法就像猴子一样。我的代码没有为任何其他国家字符做好准备 - 你有什么建议吗?
答案 0 :(得分:0)
我不确定大局是什么,但假设您目前将数据存储在一个支持您的变音符号的单个字符集的数据库中,我宁愿使用完全不同的方法:
显然有很多细节需要解决,但让Oracle在导入过程中正确转换字符集似乎只是合理的方式。
答案 1 :(得分:0)
CONVERT()函数可以使用如下CONVERT('fioajfiohawiofh',<ORIGIN_CHARSET>,<DESTINATION_CHARSET>)
。
我不知道你的字符集,但你可以尝试使用这个SELECT找到有用的字符:
SELECT
CONVERT('Æ, æ:,Ø, ø:,Å, å:',cs.value,'UTF8') AS conv
,cs.value
,cs.isdeprecated
FROM
V$NLS_VALID_VALUES cs
WHERE
cs.parameter = 'CHARACTERSET'
;