解决的方法和详细的 *** 作步骤如下:
1、首先,单击“Objects”按钮以查看有关此表的详细信息,如下图所示,然后进入下一步。
2、其次,完成上述步骤后,“teacName”字段的字符集不是“utf8”,如下图所示,然后进入下一步。
3、接着,完成上述步骤后,可以右键单击此表,然后选择“Alter Table...”选项,如下图所示,然后进入下一步。
4、然后,完成上述步骤后,在“teacName”字段后面的字符集中选择“utf8_general_ci”选项,然后单击下面的“Alter”按钮,如下图所示,然后进入下一步。
5、随后,完成上述步骤后,成功修改,单击“确定”按钮,如下图所示,然后进入下一步。
6、最后,完成上述步骤后,再次插入中文数据,就不会出现乱码了,如下图所示。这样,问题就解决了。
你的mysql客户端和你的mysql服务器的编码不一样,,应为utf8编码的中文是3个字符,而gbk编码的中文是两个字符,,这样解析出来的中文就是乱码了。。你需要该数据库的字符集编码。。。具体如下:找到mysql 的ini配置文件
在[client]这里加上default_character_set = utf8
在[mysqld]这里加上character_set_server = utf8
不出意外应该可以了
首先把你获取的页面的数据用DB的编码方式重新编码一下再存入DB.
如String tstna=request.getParameter("shijuanming")
改成String tstna=request.getParameter("shijuanming")
tstna = new String(tstna.getBytes("ISO-8859-1", "GB2312"))
后面的一个编码方式,如果DB是GB2312,那就是这个,如果不是,改成DB相应的编码方式就行了.
当然,把mysql 和 jsp上编码格式设置一致即可, 一般默认mysql的编码格式是UTF-8, 建议在jsp中也设置为UTF-8, 如果你不想这么做的话要改数据库格式, 也就是说你所有建立的表都要重新建立成GBK编码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)