http 短信接口发送短信的时候中文乱码
http 短信接口发送短信的时候中文乱码? 所有编码格式我都已经统一了,为什么
短信
乱码
分享到:
------解决方案--------------------
中间传输的时候编码格式(传输工具,类似于tomcat这样的)
或者服务器那边只接受特定的一种编码格式。
------解决方案--------------------
引用:Quote: 引用:中间传输的时候编码格式(传输工具,类似于tomcat这样的)
或者服务器那边只接受特定的一种编码格式。
我的tomcat 和eclipse 都是UTF-8 de ,短信接口也是UTF-8 , 但是我发送到手机上的时候
中文的就显示成? 了,英文和数字没有问题
都改成GBK的试一试,其它的都没问题的话,那么我们只能怀疑手机不是以UTF-8解析的bytes的,而是以GBK解析的了。
------解决方案--------------------
看看你提交表单的方式
------解决方案--------------------
引用:Quote: 引用:看看你提交表单的方式
action=send&userid=1111&account=1111&password=1111&mobile=1111&content=取消&sendTime=&checkcontent=1
我直接用接口测试的没有表单,提交方式是post ,上面是串
这样就是get提交了 设置一下request的编码方式 request.setCharacterEncoding("utf-8");加上试试
------解决方案--------------------
你是使用别人的http接口呢,还是自己写接口呢?
------解决方案--------------------
代码字符集跟你发送使用的字符集不是一个东西~~ 两回事
------解决方案--------------------
你自己测试的时候是怎么测试的呢?在浏览器里输入地址呢,还是在代码里调用呢?
如果是浏览器里测试的话,不同的浏览器编码方式是不一样,所以会出现乱码,
要是代码里调用的话,就是你编码方式的额问题了!具体的我感觉你应该贴个代码让人看下,不然这个很难猜出是哪的问题的!
------解决方案--------------------
你把调用url地址的代码贴出来,给看看!
------解决方案--------------------
你的接口在浏览器里测试是乱码吗?
还有你是用什么方法调用的接口呢!我没看懂
你可以参考下我调用url地址的方法,感觉你和我以前用的一个短信接口一个样呢?参数是一样的
public static void main(String[] args) {
try {
URL url=new URL("http://www.baidu.com/");
HttpURLConnection con=(HttpURLConnection)url.openConnection();
BufferedReader br=new BufferedReader(new InputStreamReader(url.openStream(),"utf-8"));
String line;
while((line=br.readLine())!=null)
{
System.out.println("提取:"+line);
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
------解决方案--------------------
我在发送的接口里面看还是正常的,发送到手机的时候中文就变成? 了,
没看懂什么意思!
调用接口就在发送的时候调用就好了啊,如果测试可以再main 方法,你的发送的内容在哪里
你可以把调用url地址的语句写在一个方法里,完了调用这个方法就行了!发送的内容可以传参数呀!
public String send(String content)
{
String result="";
try {
URL url=new URL("http://www.baidu.com/send?account=qq&pwd=123&content="+content+"");
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
------解决方案--------------------
换几个手机试试,有些手机对中文支持不好。以前遇到过
------解决方案--------------------
1.英文数字能发吧?能发就是字符集的事了
2.看看接口说明, 一般都有例子的,没例子就自己研究吧,
3.中文传值的时候是否需要encodeURI和decodeURI这种转码
------解决方案--------------------
刚刚遇到这个问题,已经定位了。但是没什么好的解决方法!在调用Http服务端的时候,我这边传递的中文确实是GB2312,但是到了服务端的时候确变成了 IOS-8859-1 编码。然后服务端解析的时候是按照 GB2312 去解析。然后就出现了这个乱码的问题。还在想办法解决。看看这个传递过程中能不能改一下编码格式。
------解决方案--------------------
我都是做短信平台的, 建议你先看一下 平台的调用接口文档吧. 用什么编码一般说是很清楚. 再不行找下他们的技术 .
------解决方案--------------------
上行,下行,状态报告 这是短信平台最基础的功能接口吧,一般都会有的。各运营商各厂家提供的都有些差别的,有不明白的最好是找接口提供方寻求帮助。
------解决方案--------------------
你应该需要URL解码,我刚好也在做这个短信上行下行的接口,到时候我们可以讨论下
// beans.setMo_To(request.getParameter("Mo_To"));
// beans.setMsg(URLDecoder.decode(request.getParameter("msg"),
// "UTF-8")); // 解码
// beans.setMo_Msg(URLDecoder.decode(request.getParameter("Mo_Msg"),