Encoding PowerBuilder-不同编码PB 6.5-PB 10.5

Encoding PowerBuilder-不同编码PB 6.5-PB 10.5,encoding,character-encoding,powerbuilder,Encoding,Character Encoding,Powerbuilder,我在PB6.5中为一个应用程序构建了一个加密函数,它工作良好,它获取一个人的数据,对其进行加密,并将结果字符串存储在数据库中。另一方面,我可以在PB10.5中构建的应用程序中访问这些数据(因为两个应用程序共享数据库) 问题是我无法正确恢复数据:( 我在谷歌上搜索了它,并阅读了一些文档。我知道PB6.5使用ANSI编码,PB10.5使用UTF-16LE,所以我尝试了文档中的函数,看看我得到了什么: lb_text = Blob(original_string, EncodingANSI!) ls_

我在PB6.5中为一个应用程序构建了一个加密函数,它工作良好,它获取一个人的数据,对其进行加密,并将结果字符串存储在数据库中。另一方面,我可以在PB10.5中构建的应用程序中访问这些数据(因为两个应用程序共享数据库)

问题是我无法正确恢复数据:( 我在谷歌上搜索了它,并阅读了一些文档。我知道PB6.5使用ANSI编码,PB10.5使用UTF-16LE,所以我尝试了文档中的函数,看看我得到了什么:

lb_text = Blob(original_string, EncodingANSI!)
ls_string1 = String(lb_text, EncodingANSI!)
ls_string2 = String(lb_text, EncodingUTF16LE! )
ls_string1给了我一个与PB6.5编码的原始字符串非常相似的字符串,ls_string2给了我一个“方字符”序列的字符串:㔐

我的问题是:

有没有办法标准化PB不同版本之间的编码?或者


是否有函数(在PB10.5中)将字符串转换为我需要的编码?

问题出在我的加密函数中:我使用了一个字符串(ascii_字符串),其字符范围为1到255,以对数据进行编码,但我发现在位置1到31处存在“奇怪”字符

因此,在PB6.5中,我做到了:

for i=32 to 255
   ascii_string += string(char(i))
next
对于PB 10.5:

for i=32 to 256
  aux = Blob(char(i))
  ascii_string += String(aux, EncodingANSI!)
next

它适用于每个版本!

标准化:否。函数:ummm..String(…,EncodingANSI!)?您对问题的解释可能缺少一些内容,因为听起来您已经找到了解决方案。请告诉我们。