解决办法:
第一:
在jsp页面加入:
<%@ page contentType="text/html; charset=gb2312" %>
或者在servlet里面
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html; charset=gb2312");
上面的如果在不行就用如下的方法在数据入库前进行调用:
public static String UnicodeToChinese(String s){
  try{
     if(s==null||s.equals("")) return "";
     String newstring=null;
     newstring=new String(s.getBytes("ISO8859_1"),"gb2312");
     return newstring;
    }
  catch(UnsupportedEncodingException e)
  {
  return s;
  }
  }public static String ChineseToUnicode(String s){
  try{
  if(s==null||s.equals("")) return "";
  String newstring=null;
  newstring=new String(s.getBytes("gb2312"),"ISO8859_1");
   return newstring;
  }
  catch(UnsupportedEncodingException e)
  {
  return s;
 }
  }

解决方案 »

  1.   

    我只是连接服务,通过smpp发送数据,不和数据库打交道。
    我不知道如何利用您的代码?
      

  2.   

    那就和短心服务器有关系了,有时候,手机和手机之间发送也会有乱吗的,我就遇到过。是联通的。
    你可以在你发送出去前对数据进行编码,用iso-8859-1。
      

  3.   

    mike_winnor (奎奎) :你好!你的问题应该就是字符编码的问题。
    我用C做过短信程序,但是我没有用JAVA做过,
    你可以把你的短信程序的代码发一份给我参考一下吗?
    [email protected]十分感谢!
      

  4.   

    我不会java,做过一点短信。
    你可以参考一下相关的标准。
    gsm03.38
    专门讲了编码的例子。
    gsm09.10
    对整个gsm讲的都很详细。
      

  5.   

    多谢各位支持,我给大家分数,问题解决,是ISO8859_1不行,正确的编码,看
    DataCoding 对应的编码。