首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

jsp插入mysql数据库后乱码的解决方法

2012-01-30 
jsp插入mysql数据库后乱码的解决办法jsp页面用下面3句语句来保证是gbk编码   %@pagesession true % 

jsp插入mysql数据库后乱码的解决办法
jsp       页面用下面3句语句来保证是gbk       编码

   <%@       page       session= "true "       %>      
      <%@       page       contentType= "text/html;charset=gbk "       %>          
   <%@page       pageEncoding= "gbk "%>      
   <%request.setCharacterEncoding( "gbk ");%>      

数据库连接用如下语句      
 String       sConnStr       = "jdbc:mysql://localhost:3306/test?      user=michael&password=123456&useUnicode=true&characterEncoding=gbk ";      
    并且在mysql的my.ini的内容如下      
    basedir=D:/mysql      
    #bind-address=127.0.0.1      
    datadir=D:/mysql-data/data      
    default_character_set=gbk      
    #language=D:/mysql/share/your       language       directory      
    #slow       query       log#=      
    #tmpdir#=      
    #port=3306      
    #set-variable=key_buffer=16M      
    [WinMySQLadmin]      
    Server=D:/mysql/bin/mysqld-nt.exe      
    user=michael      
    password=123      
    [client]      
    default_character_set=gbk      
       
    读jsp页面之间传递的参数在页面显示正常    
    在dos命令行下插入数据后,显示也正常

    其中一条插入语句如下:      
    <jsp:useBean       id= "reg "       scope= "page "       class= "test.chatreg "       />      
    String       strSQL= "insert       into       chatreg(username       ,       password       ,       email       ,homepage       )      
        values( ' "       +       regName       +       " ',           ' "       +       regPassword       + " '           ,           ' "       +       regEmail       +       " '           ,       ' "       +       regHomepage       +       " ')       ";      
        reg.executeQuery(strSQL);      

转http://www.knowsky.com/


[解决办法]
我所有文件全设定为UTF-8就没出现过中文问题了
不过也谢谢楼主的资料
[解决办法]
LZ散分的?


[解决办法]
来接分
[解决办法]
你插之前转为ISO-88591编码试试
[解决办法]
学习学习
[解决办法]
为保证插入数据库和读取数据库显示的都是中文

保存的时候new String(str.getBytes( "iso-8859-1 "), "gbk ");
读取的时候new String(str.getBytes( "gbk "), "iso-8859-1 ");

[解决办法]
是GBK而不是gbk
[解决办法]
mysql字符集问题,在配置mysql服务器时设置字符集为jbk。
[解决办法]
将接收到的数据一个一个的转码是不可行的。如果数据量够大的话你怎么办?
最好的办法是编码统一。再写一个过滤器
public class MyActionServlet extends ActionServlet {
@Override
protected void process(HttpServletRequest arg0, HttpServletResponse arg1)
throws IOException, ServletException {
// 转换编码为GBK
arg0.setCharacterEncoding( "GBK ");
}
}
然后在web.xml里面配置一下
<servlet>
<servlet-name> action </servlet-name>
<servlet-class> com.util.MyActionServlet </servlet-class>
</servlet> 这里我的servlet在com.util包里,你得根据你自己的具体包
[解决办法]
我就是用楼上的方法搞的
[解决办法]
是GBK而不是gbk

================
有差别吗,晕,我还一直这样用的.

若有差别,请说明下

--------------------------------------
没有区别, 至少我没发现有什么区别...

热点排行