我是北大青鸟二年的学员,最近在学习中遇到了MySQL的乱码!我快疯了!各位高手,救命啊!谢谢!

解决方案 »

  1.   

    不知道你是用的什么编码,可以的话建议上传一下附件。
    如果用utf-8的编码可以分一下步骤解决:
    1:在jsp页面里面加入:<%@ page contentType="text/html; charset="UTF-8"  %>
    2:在title里面加入:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    3:设定安装MYSQL的编码。
    4:建立数据库是用utf-8编码,CREATE DATABASE **** CHARACTER SET utf8;
      

  2.   

    1.新建的数据库是testdb,那么我连接数据库的url应该为:jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=gbk此时要注意:如果我是把这个url写在JAVA代码中,就直接这样写。但如果是在xml配置文件中(如struts-config.xml,web.xml等),要把其中的&改为&amp;才行,否则会出错。也就是:jdbc:mysql://localhost:3306/testdb?useUnicode=true&amp;characterEncoding=gbk2.在每个JSP页面的最上面都加上一句<%@ page language=”java” contentType=”text/html;charset=GBK” %>这样才能保证JSP页面中的中文显示正常最后写一点要特别注意!像GBK,UTF-8这样的名字,在mysql与JAVA中有不同的规定,写的时候要格外注意,否则会出错。比如GBK,在JAVA中要写成GBK,但在mysql中要写成gbk(连接数据库的URL)比如UTF-8,在JAVA中要写成UTF-8,但在Mysql中要写成utf8其它的字集符也有类似的区别其实之前的问题我都解决了,最后失败在一个&符号上,以后要记得了,凡是在url里面的&都最好写成&amp;,这下总算明白了xhtml标准中为什么这么规定了. 在web中,&因为是用来做转义的,所以有可能出错。
      

  3.   

    response.setCharacterEncoding("编码方式")//大体是这个方法,记不太清楚,和数据库编码方式对应。或者 String tmp = new Strings(str.getBytes("gbk"),"utf-8"); 
      

  4.   

    你说你是北大青鸟的,那应该用的是SSH框架吧,如果你使用了FormBean的话应该不存在编码问题,但是必须是你的form中的提交方式要是post!
      

  5.   

    如果是插入到数据库中乱码的话,在MySql命令行中设定:set names='utf-8'