解决方法一:
mysql安装时候的编码
看下my ini 有无
[mysql]
default character set=utf
[client] default character set=utf
[mysqld] default character set=utf 创建表的时候设置
DROP TABLE IF EXISTS `Company`CREATE TABLE IF NOT EXISTS `Company` ( `Cname` VARCHAR( ) NOT NULL `Caddr` VARCHAR( ) `Ctel` VARCHAR( ) )ENGINE=InnoDB DEFAULT CHARSET=UTF jsp标头
<%@ page language="java" import="java util *" pageEncoding="UTF "%>不行的话就尝试
contentType="text/charset=gb " 解决方法二
连接mysql时(无论在从mysql读还是取数据的情况) 指定使用的编码方式为utf 具体代码如下
//装载mysql jdbc驱动
Class forName(" mysql jdbc Driver") newInstance()
//连接数据库
Connection sqlCon = DriverManager getConnection( "jdbc:mysql://localhost: /test?user=root&password= &useUnicode=true&characterEncoding=utf " )解决方法三
如果方法一不行那么在方法一的基础上对读入的字符串进行强制编码方式转换
String name = request getParameter("name")name= new String(name getBytes("ISO ") "utf ")或者
String name =new String( rst getString("name") getBytes("ISO ") "utf "))解决方法四
这个方法在有些文章里是首推的 我首先也是试了这个方法 但是好像不行 这里还是说一下 不知是不是 *** 作错误 还是先贴原文吧
"如果数据库中有中文的话而mysql默认的语言不是中文时要在配置文件C:winntmy ini 中的 [mysqld] 里添加一行
default character set=utf
然后重起mysql
方法五 在tomca或者web项目下的web xml里面更改
<filter> <filter name>UTFEncoding</filter name> <filter class>founder chenph Util EncodingFilter_UTF
lishixinzhi/Article/program/Java/JSP/201311/202731、修改安装文件根目录下的my.ini文件:\x0d\x0a搜索字段default-character-set,设置其值为utf8/gbk之一(注意设置utf8的时候不能设成utf-8)\x0d\x0a再去重启MySQL服务器\x0d\x0a如果还是出现乱码,接着执行下面 *** 作\x0d\x0a2、修改数据库编码\x0d\x0a在安装目录的data目录下找到你出现乱码的数据库对应的文件夹(这个文件夹即是你这个数据库存放数据的地方),\x0d\x0a进入找到db.opt文件(即此数据库的编码配置文件),修改值为下面的\x0d\x0adefault-character-set=gbk\x0d\x0adefault-collation=gbk_chinese_ci\x0d\x0a再去重启MySQL服务器\x0d\x0a如果还是出现乱码,接着执行下面 *** 作\x0d\x0a3、再不行,备份原数据库数据,直接drop掉这个数据库\x0d\x0a重新创建数据库并设置编码\x0d\x0acreate database yourDB character set gbk\x0d\x0a别忘了重启MySQL服务器综上:如果还没有解决,我也没辙了。重装吧,重装的时候设置下编码三处的编码要一致
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)