jsp连mysql,一切ok,就是中文存入和读出都是???乱码
网上找了找资料,还是没解决问题,回答得都很乱,几乎绝望了!
所以请哪位高手帮忙做个小的原形,只要最简单的写入中文字符和读出并显示在jsp页面上即可。一定要没乱码!
请将原形发至此邮箱,试验一旦通过,立即给分,决不食言!谢谢!

解决方案 »

  1.   

    String newStr = new String(str.getBytes("ISO-8859-1"),"GB2312");
    是不是这个意思?
      

  2.   

    可以在连接数据库的时候加上编码机制
    String url="jdbc:mysql://61.152.93.153:3306/xuekaodb?useUnicode=true&characterEncoding=gb2312"
    在试试
      

  3.   

    在发帖之前楼上二位所说的方法我均试过,不行啊,否则也不会发帖求助了
    现在我都晕了,好象存入数据库的时候要有一次代码转换,从数据库中读出的时候也要有一次转换。而且好象对request.getParameter来的参数的转换和对数据库中取出的数据的转换还不一样。晕
      

  4.   

    MYSQL建表的时候指定编码方式!因为它被收购后默认的改Itanl编码了!5.0你安装的时候就有提示呀!你可以查一下MYSQL的环境变量看看是否为GBK或者是GB2312数据库连接的你也可以加上编码方式!对请求的参数统一用一个Filter处理!指定好JSP页面编码后!就应该没什么问题的!我是这样做的!基本上没问题!
      

  5.   

    1,连接数据库的时候String url="jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=gb2312"
    2,在每一页前面加上<%request.setCharacterset("GBK");%>应该就可以啦
      

  6.   

    不好意思笔误 应该是<%request.setCharacterEncoding("GBK");%>
      

  7.   

    存取MySQL乱码问题
    查看系统的字符集和排序方式的设定可以通过下面的两条命令:
    mysql> SHOW VARIABLES LIKE 'character_set_%';
    +--------------------------+----------------------------+
    | Variable_name | Value |
    +--------------------------+----------------------------+
    | character_set_client | latin1 |
    | character_set_connection | latin1 |
    | character_set_database | latin1 |
    | character_set_results | latin1 |
    | character_set_server | latin1 |
    | character_set_system | utf8 |
    | character_sets_dir | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    7 rows in set (0.00 sec)mysql> SHOW VARIABLES LIKE 'collation_%';
    +----------------------+-------------------+
    | Variable_name | Value |
    +----------------------+-------------------+
    | collation_connection | latin1_swedish_ci |
    | collation_database | latin1_swedish_ci |
    | collation_server | latin1_swedish_ci |
    +----------------------+-------------------+
    3 rows in set (0.00 sec)
    上面列出的值就是系统的默认值。默认是latin1的瑞典语排序方式当我们按照原来的方式通过jsp存取MySQL数据库时,就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,
    你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句:SET NAMES 'gbk';它相当于下面的三句指令:
    SET character_set_client = gbk;
    SET character_set_results = gbk;
    SET character_set_connection = gbk;
    数库连接JDBC使用
    jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=GBK如果你的数据库是UTF-8可能你要使用
    jdbc:mysql://localhost:3306/jbbs?useUnicode=true&characterEncoding=utf8
      

  8.   

    安装的时候有提示你选择编码的,可你错过了选择的机会。
    找到你的ini文件。修改default-character-set=gb2312