oracle的编码问题

来源:百度文库 编辑:神马文学网 时间:2024/06/13 13:37:59
问题1:请问在Oralce中AL16UTF16与AL32UTF8的区别? 问题2:请问Oracle支持UTF-32吗? 问题3:请问直接把UTF-32的数据插入AL16UTF16或者AL32UTF8的Oralce数据库表中会有问题吗?会不会丢失真实数据?谢谢!想搞清楚这几个问题,楼主需要分清楚三个概念:字符、字节和编码。 比如2D 4E和D6 D0和e4 b8 ad和FF FE 2D 4E是字节,但是都对应同一个字符:‘中’。 编码:把字符变成字节的过程。 比如 D6 D0把字符‘中’使用GB2312进行编码的字节结果。 e4 b8 ad把字符‘中’使用Utf-8进行编码的字节结果。 2D 4E把字符‘中’使用进行Utf-16编码的字节结果。 FF FE 2D 4E把字符‘中’使用Utf-32进行编码的字节结果。 对于问题二:SELECT * FROM v$nls_valid_values WHERE parameter = 'CHARACTERSET' 可以看到oracle支持的所有字符集。我的oracle不支持Utf32。 对于问题三:如果你理解了字符、字节、编码就不会问出这个问题了,问题中概念不清无法回答。