String(     ,"gb2312")

解决方案 »

  1.   

    多看看FAQ区的文章对你有好处  :)
      

  2.   

    看看你的jdbc的驱动有没有指定编码。
    你用的是什么数据库和驱动?
      

  3.   

    偶用的是ORACLE数据库啊.
    jdbc:oracle:thin:@127.0.0.1:1521:test别的通过FORM提交的然后写入数据库都不会啊
    为什么我直接用
    String xx="测试";
    然后把xx写入数据库就是乱码?
    如果是
    String xx=request.getParameter("xx");
    这样到还不会出错
    很郁闷啊!!!!!!!!
      

  4.   


    给你个函数 就可以了
    public static String getStr(String str) 
      {
          try{
             String temp_p=str;
             byte[] temp_t=temp_p.getBytes("ISO8859_1");
             String temp=new String(temp_t);
             return temp;
            }
            catch(Exception e)
            {
                System.out.println(e.toString());
                return "null";
            }
          
      }
      

  5.   

    5555555555555
    用.getBytes("ISO8859_1")和String(     ,"gb2312")之后就不是乱码,而是??????了.request.setCharacterEncoding这个偶不会用也.
    偶的String log_content="测试";
    如何用request.setCharacterEncoding转换log_content啊?
      

  6.   

    一:
    在JSP里加上<%@ page contentType="text/html;charset=gb2312" %>试试二:
    String aaa = request.getParameter("aaa");
    if(aaa!=null){
    aaa = new String(aaa.getBytes("iso-8859-1"),"gb2312")
    out.println(aaa);
    }三:
    strName = new String(request.getParameter("name").getBytes("ISO-8859-1"));
    iso-8859-1这个地方可以多试几个参数
    utf-8,GBK,gb2312四:
            public static String charConvert(String strSource){
                if (strSource == null){
                    return "";
                }
                else{
                    try{
                      //return new String(strSource.getBytes("GB2312"), "ISO-8859-1");
                      String str = new String(strSource.getBytes("ISO-8859-1"), "GB2312");
                      System.out.println(str);
                      return str;
                    }
                    catch (Exception ex){
                      System.out.println(ex.toString());
                      return "";
                    }
                }
            }五:
    request.setCharacterEncoding("gb2312");
    随便找一个试试,
    还有,问问题之前可以搜索一下,可以省掉很多分的,
    这些都是搜索到的。
      

  7.   

    jdbc:oracle:thin:@127.0.0.1:1521:test?useUnicode=true&characterEncoding=GB2312
      

  8.   

    存入数据库的时候用
    /**
       * 字符串编码转换
       * @param str 被替换的字符串
       * @return 编码转换GBK--->ISO8859_1
       */
      public String reconvert(String value) {
       try {
          String s = new String(value.getBytes("GBK"), "ISO-8859-1");
          return s;
        } catch(Exception e) {
          return null;
        }
        //return value;
      }取出使用:
      /**
       * 字符串编码转换
       * @param str 被替换的字符串
       * @param isoCharSet 字符编码类型
       * @return 字符串编码转换--->isoCharSet
       */
      public String getStr(String str) {
       try {
          String temp_p=str;
          byte[] temp_t=temp_p.getBytes("ISO-8859-1");
          String temp=new String(temp_t,"GBK");
          return temp;
        } catch(Exception e) {
        }
        return "null";
      }
      

  9.   

    package momi.util;
    import java.io.*; 
    public class MyUtil{
      public static String gb2312ToUnicode(String s){
        try{
          return new String(s.getBytes("ISO8859_1"),"gb2312");
        }
        catch(UnsupportedEncodingException uee){
          return s;
        }
      }  public static String unicodeTogb2312(String s){
        try{
          return new String(s.getBytes("gb2312"),"ISO8895_1");
        }
        catch(UnsupportedEncodingException uee){
          return s;
        }
      }
    }往数据库里写的时候转码,不妨种都试试 :)