解决java项目中文乱码问题

javaweb项目中文乱码问题解决


**

字符编码集问题总结


首先,要在创建数据库的时候要指定编码(来使数据库支持中文)。如果是在cmd命令行窗口中进行操作来创建mysql数据库的话,就要使用额外的语句来指定编码集了。当然呢,一般人都是使用mysql的视图化工具创建的数据库。
如果是使用mysql的视图化工具来创建数据库的话,就要在创建的时候,直接通过选项来指定中文。一般来说使用utf8。当然如果是gbk也行,不过使用gbk的话,在一些操作系统上用不了。创建之后,你可以查看一下你的数据库中各个表的字符编码集,看是否成功设置了。
其次,在MyEclipse中的window选项-》properties-》General-》Workspace中查看MyEclipse当前的工作区是不是支持你所选的编码集的。
再次,还要看你所创建的javaweb项目中的字符编码集。直接在项目上右键–>properties—>然后上网查就知道了。

还有,在确保数据库支持中文、以及MyEclipse(即使是eclipse也一样的操作)的编码集之后,
**要在JDBC的四大参数中的String url=“jdbc:mysql://127.0.0.1:3306/bb?useUnicode=true&characterEncoding=gbk”;这样写。
如果你的是utf-8编码,那么就要写成
characterEncoding=utf-8;(这里写utf8也行,两者在java中的区别就是兼容性不同。utf-8兼容性高一些。但是在数据库中的话必须是写为utf8,而且数据库中也只会有utf8提供给你。)**而不是gbk了。

如果jdbc的四大参数是写在Xml配置文件中的(有时候,因为需要,所以就写到了xml文件中),并且当你把?useUnicode=true&characterEncoding=gbk";**写到.xml配置文件中报错了。这时可以将useUnicode=true去掉,就可以解决了。实际上也不是必须去掉,还可以把&改为前端页面专用的&就行了。。
在这里插入图片描述

个人觉得,经过我试验,发现,只要数据库支持中文(即:设置了gbk或者utf8)。MyEclipse的工作区或者项目的编码集,都不重要;最重要的是要在四大参数的URL中添加一句?useUnicode=true&characterEncoding=gbk一定要注意:这个才是最重要的
就相当于JDBC这个中间件的指定编码集最重要一样。

而且,一般来说,在javaweb项目中,很多人都习惯于在Servlet中使用request对象和response对象的方法来设置编码集,这个也是可取的。就两句代码的是。网上有很多。

如果是在cmd命令行窗口中进行操作来创建mysql数据库的话,就要使用额外的语句来指定编码集了。如下:
create database 数据库名 default character set utf8 collate utf8_general_ci;
或者create database 数据库名 default character set gbk collate gbk_chinese_ci;

JDBC连接MySql数据库的四大参数之一的urljdbc:mysql://ip:port/数据库名?useUnicode=true&characterEncoding=utf8

注释:因为第一次在这上面写博客,很多设置不清楚,所以板书有些乱。
想要详细了解:加Q:1731808698

猜你喜欢

转载自blog.csdn.net/weixin_43666859/article/details/84329864