关于写入MySQL数据库乱码问题

来源:互联网 发布:三星乐园软件下载 编辑:程序博客网 时间:2024/05/16 11:37
    作为一个刚接触程序的菜鸟,总会遇到各种问题。其中数据库写入中文的乱码问题也是比较常见的,以下是我自己总结的几种解决办法。    通用方法是将所有编码格式转为utf-8    1 在页面编码方面注意jsp页面的页头     <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>    也可以点击此jsp页面属性(右键-->propreties-->resource)修改属性为utf-8    ![这里写图片描述](http://img.blog.csdn.net/20170311104229292?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVuZ2ppZTAz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)    2 修改Java文件的编码格式使其与jsp页面一致在servlet中加入response.setCharacterEncoding("UTF-8");     其目的是用于response.getWriter()输出的字符流的乱码问题,如果是response.getOutputStream()是不需要此种解决方案的;因为这句话的意思是为了将response对象中的数据以UTF-8解码后发向浏览器;    3.设置URL在MySQL中jdbc:mysql://localhost:3306/database?useUnicode=true&amp;characterEncoding=UTF-8     路径后面加?useUnicode=true&amp;characterEncoding=UTF-8     若以上乱码依然存在,或则在做web项目已经配置过滤器解决乱码问题的情况下就很有可能是你的数据库安装有问题了(数据库默认为latin1)。    这时你需要修改数据库的基本配置 关闭数据库后找到数据库的安装目录下的my.ini文件,在对应的标签下加(若标签下存在则修改即可,没有就加上)

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
之后保存修改之后重启数据库,乱码问题就可以解决

1 0