问一个关于字符编码的问题。

Drayne 2018-01-25 02:27:30
pb9的程序,与另一方做接口,接口是webservice方式。参数是xml的,要求是utf8格式。
是不是我直接用string类型
string s_xml
s_xml = '<?xml version="1.0" encoding="UTF-8"?>
s_xml += '<' + .... + '/>'

拼出个xml格式的字符串,传过去就行了,只要在头文件里加上 encoding = UTF-8

一个string类型的字符串,也不是文件,还分utf-u gb2312的么
...全文
871 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
囡程序猿 2018-05-05
  • 打赏
  • 举报
回复
PFW 了解一下
zhangyangziwo 2018-03-24
  • 打赏
  • 举报
回复
升级pb吧,10以下搞起来累
做梦的猫 2018-03-12
  • 打赏
  • 举报
回复
pb9做不了ws,至少得pb11。本来字符集转换是件头痛的事,但若用ws直接通过“字符串“参数传递的话就简单了,因为pb会自动把传过来字符串转换成pb自己的字符集,而无需考虑对方实际的字符集!

反过来也一样,对方也无需知道你的实际字符集,开发工具自会做好这件事。
zhgwbzhd 2018-03-11
  • 打赏
  • 举报
回复
字符编码的知识,花点时间研究一下吧。 pb9仅支持asc码,utf8的编码显示就是乱码。 不过一般,webservice如果做的稳定,考虑的周全,在收到字符时,都会转成他们想要的编码,例如转成utf8. 如果你想要将utf8字符转成asc码,要不升级pb,要不写一个dll,进行转换。
做梦的猫 2018-03-11
  • 打赏
  • 举报
回复
webserivce 之间传递的话用不着,是什么字符集就指定什么字符集。。传给对方要用 encoding = XXXX 不记得怎么写的了,就是 PB 字符串的字符集,查下帮助。 对方过来的字符串也不用转,把对方 xml 中的 encoding = UTF-8 替换成 PB 的那个字符集就行了,直接用数据窗口导入(但列数要完全一样,导入函数的位置参数无效)。
Drayne 2018-01-30
  • 打赏
  • 举报
回复
引用 2 楼 qq_17847881 的回复:
PB编码方式是ANSI,直接拼凑出来的字符串对方接收到的中文会是乱码的,传给对方之前先转成UTF-8编码格式,再传过去; 同样,对方返回给你的字符串包含中文时也是乱码,需要再转成ANSI编码格式,才可以正确访问数据的;
谢谢! 一直没明白这个编码问题,以为只有保存为文件才涉及到编码,原来一个字符串也是。 pb9也没找到直接的方法,没办法用c#转一下了
划]破 2018-01-25
  • 打赏
  • 举报
回复
PB编码方式是ANSI,直接拼凑出来的字符串对方接收到的中文会是乱码的,传给对方之前先转成UTF-8编码格式,再传过去; 同样,对方返回给你的字符串包含中文时也是乱码,需要再转成ANSI编码格式,才可以正确访问数据的;
Drayne 2018-01-25
  • 打赏
  • 举报
回复
我看webservice 方法的类型,原型是 byte[] pb 是 blob类型, 这样字符串转blob类型 blob( s_xml ) 这也没有办法指定 是utf-8 呀

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧