场景:检查服务器异常(hive)服务,就通过http发送一条短信到手机上,内容类似:【通知】
S
T
A
R
T
D
A
T
E
h
i
v
e
服务检测异常
{START_DATE}_hive服务检测异常
STARTDATEhive服务检测异常{DB_ID},实现的ktr如下:
http的URL输入内容:http://XXXXXX?__ext=Stats&__tel=XXXX&__content=【通知】
S
T
A
R
T
D
A
T
E
h
i
v
e
服务检测异常
{START_DATE}_hive服务检测异常
STARTDATEhive服务检测异常{DB_ID}
处理过程:转变编码格式成GBK或者别的,都是出错;
把中文去掉,只留英文提示,就可以发送成功,说明是中文转码的问题
解决中文转码的问题:在"表输入"控件里面输入中文,传输到col1变量里面,出错时,会看到中文需要转码的格式,如下col1=【通知】_hive服务检测异常,这句会被转换成col1=%E3%80%90%E9%80%9A%E7%9F%A5%E3%80%91_hive%E6%9C%8D%E5%8A%A1%E6%A3%80%E6%B5%8B%E5%BC%82%E5%B8%B8;
可见http需要接收转码好的URL编码方式,ktr的http控件,就需要改成“http://XXXX?__ext=Stats&__tel=XXXXXXX&__content=%E3%80%90%E9%80%9A%E7%9F%A5%E3%80%91_hive%E6%9C%8D%E5%8A%A1%E6%A3%80%E6%B5%8B%E5%BC%82%E5%B8%B8”
相关URL编码方式转码,查看:http://tool.chinaz.com/tools/urlencode.aspx
附上调试出错的