问题描述:在LR的请求中出现:“测试NUL”,预期是要输出“测试”,那这个“NUL”又是从哪里出来的。其实该“NUL”是null的前面3个字符,出现这个原因是因为一般字符串后面有一个结束符“\x00”,在不能识别“\x00”的编码转换过程中将其转化为null,
解决办法:在转换之前将原有的带“\x00”的结束符去掉,然后再转化。
lr_convert_string_encoding("全网通版",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"UnicodeString");
lr_save_string(lr_eval_string("{UnicodeString}"),"nURLencode"); -----去掉“\x00”
web_convert_param("nURLencode","SourceEncoding=PLAIN","TargetEncoding=URL",LAST);
如果没有使用 lr_save_string,则“全网通版”对应的URL编码是:%E5%85.........%88%00,最后面的%00其实就是\x00所对应的URL编码。