java发送短信中文乱码,http 短信接口发送短信的时分中文乱码

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地址的代码贴出来,给看看!

------解决方案--------------------

你的接口在浏览器里测试是乱码吗?

还有你是用什么方法调用的接口呢!我没看懂

1114208.gif

你可以参考下我调用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 去解析。然后就出现了这个乱码的问题。还在想办法解决。看看这个传递过程中能不能改一下编码格式。

------解决方案--------------------

我都是做短信平台的, 建议你先看一下 平台的调用接口文档吧. 用什么编码一般说是很清楚.   再不行找下他们的技术 .

------解决方案--------------------

上行,下行,状态报告 这是短信平台最基础的功能接口吧,一般都会有的。各运营商各厂家提供的都有些差别的,有不明白的最好是找接口提供方寻求帮助。

1114209.gif

------解决方案--------------------

你应该需要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"),

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值