日期:2014-05-17  浏览次数:20681 次

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&n