将扩展ASCII导入Oracle

时间:2008-10-22 14:36:29

标签: oracle utf-8

我有一个导入包含一些字符串的二进制文件的过程。字符串可以包含扩展的ASCII,例如CHR(224),'à'。该过程采用RAW并将BCD字节逐个转换为字符串中的字符。

问题是扩展的ASCII字符会丢失。我怀疑这是因为他们的值在UTF8中意味着其他东西。

我认为我需要的是一个采用ASCII字符索引并返回相应UTF8字符的函数。

更新:如果我碰巧知道传入文本的等效Oracle字符集,那么我可以将原始字节转换为UTF8吗?源文本将始终为单字节。

1 个答案:

答案 0 :(得分:1)

没有“扩展ASCII”这样的东西。或者,更确切地说,如此多的编码是ASCII的超集,共享相同的前127个代码点,该术语过于模糊而无意义。您需要确定此文件中的字符串是否使用UTF-8,ISO-8859-whatever,MacRoman等进行编码。

你问题第二部分的答案是一样的。根据设计,UTF-8是ASCII的超集。任何ASCII字符(即0到127)也是UTF-8字符。要将某些非ASCII字符(即> = 128)转换为UTF-8,首先需要找出它所在的编码。