解决易语言调用API的编码或乱码问题
1、关于调用网络API的问题,由于经验限制,无法详细解释,笔者就简单说一下吧
最简单,最容易出问题的也就是URL!!
比如说:
调用链接缩短API,需要传递一个URL给服务端(服务端字符集为UTF-8),URL为:http://***.***.com?xxx=aaa&xxx=bbb&xxx=ccc
等获得调用结果后,打开短链接,你会发现一个问题:
http://***.***.com?xxx=aaa&xxx=bbb&xxx=ccc
变成了
http://***.***.com?xxx=aaa&xxx=bbb&xxx=ccc 网页提示404!
2、至于原因,笔者也说不清楚
不过笔者做过一个对比测试:
1.易语言本地使用BASE64将转换为字节集的文字进行编码,然后传输到自己的服务端,服务端通过PHP解码,然后转码为UTF-8,再来调用API(这相当于用自己的服务端进行中转),结果还是出现步骤一的现象。
2.易语言本地将转码为UTF-8的字节集,然后BASE64编码,使用自己的服务端进行中转,结果没有发生步骤一中的现象。
3、通过上述测试,我们就可以得出解决方法了,那就是在调用API前转码需要发送的数据为UTF8,再来调用API
1、通过上面的叙述,我们应该知道这应该是易语言中编码不一致导致的!
知道了原因,解决就很简单了!
2、如果需要读取文本并进行操作就必须得转换为ANSI(GB2312)[GB2312是易语言默认的编码,也是固定了的编码。。。],才能进行操作,不然一堆乱码啥都干不了。。。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:82
阅读量:46
阅读量:69
阅读量:74
阅读量:72