在PB下采用继承internetresult方式建立的URL对象,在使用geturl获取汉字时候乱码,经过查询发现,一般网页采用UTF-8编码和传输,而PB12下默认是ANSI编码,因此需要对结果进行如下转换即可。
该语句写在继承的对象的函数internetdata函数里就可以
string i_strget
Blob lbl_data
i_strget=string(data,EncodingUTF8!)
lbl_data = blob(i_strget, EncodingANSI!)
is_data = string(lbl_data, EncodingANSI!)
在PowerBuilder 12环境下,通过继承InternetResult创建的URL对象在获取包含汉字的网页内容时出现乱码。问题在于PB12默认使用ANSI编码,而大部分网页采用UTF-8编码。为解决此问题,需在对象的internetdata函数内将获取的数据从UTF-8转为ANSI。转换代码包括将数据转换为字符串(string(data, EncodingUTF8!)),再转为ANSI Blob(lbl_data=blob(i_strget, EncodingANSI!)),最后再转回字符串(is_data=string(lbl_data, EncodingANSI!))以显示正确内容。

1270

被折叠的 条评论
为什么被折叠?



