MYSQL中文乱码问题解决方案

本文详细介绍了使用MySQL-5.0解决数据库字符集导致的乱码问题,包括修改数据库、表和字段编码的步骤。同时,提供了JSP页面乱码的解决策略,涉及修改JSP页面字符集、数据库连接语句和数据提交编码等方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     以下是我在使用Mysql过程中遇到的乱码问题的解决方法的总结

首先我是使用mysql-4.1.14版本,现在换成了5.0了,支持存储过程了。

数据库字符集导致的乱码

1. 启动MySQLQueryBrowser,在里面输入

       ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin,

       将test数据库的编码设为utf8。

2. 修改表的编码:ALTER TABLE `category` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin  

        以上命令就是将一个表category的编码改为utf8

3. 修改字段的编码:直接在MySQLQueryBrowser里右击表,然后点编辑表,在里面修改或输入代码:

       ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR ( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL 我个人比较懒,所以我选用第一种方法。

注意:在完成设置后要重新启动数据库

其实最简单的方法是改变数据库的默认字符集编码(必须是数据库支持的字符集编码,原始的好像是lain1)

在MYSQL文件夹里面找到my.ini改里面的char为UTF8,

jsp页面乱码:

4.在JSP页面修改charset 即可,<%@ page contentType="text/html; charset=UTF-8" %>

5.在JSP连接数据库的语句中加入如下内容 private      String url="jdbc:mysql://localhost/DB_NAME?useUnicode=true&characterEncoding=UTF-8";        

6.JSP页面没有指定数据提交的编码,就会造成乱码:对于这种乱码的情况,只需在页面开头加上request.setCharacterEncoding("UTF-8"); 一定要在在数据被使用前加上这句话

7.直接在页面接受参数时进行字符集转化。例如String bookname=new String(request.getParameter("bookname").getBytes("ISO8859_1"),"gb2312");

总结:先要判断JSP乱码是插入数据库之后乱码,还是JSP页面刚提交过来就乱码了,如果JSP刚接收上一页面的数据显示就乱码了,肯定是字符集不对,或者没有加request.setCharacterEncoding("UTF-8");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值