如果大家用易语言编写过文本处理文档,那么应该就注意过这个问题。略坑爹的是易语言的内码是ANSI(GB2313)......处理文本时各种奇葩问题。。。(易语言你弄个GBK或者是GB18030-2005都比GB2312强啊!!!)
工具/原料
易语言
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是易语言默认的编码,也是固定了的编码。。。],才能进行操作,不然一堆乱码啥都干不了。。。