JSP+MySQL中文乱码问题

问题:JSP页面传输到MySQL数据库时,中文为乱码(数据库中保存乱码)。

解决办法:

  1、将所有的涉及到编码的都设置为 utf8(utf-8)。

    设置数据库编码:命令行执行:mysql> show variables like ‘character%‘; 可以查看是否为utf8

mysql> show variables like ‘character%‘;
+--------------------------+------------------------------------------------------+
| Variable_name            | Value                                                |
+--------------------------+------------------------------------------------------+
| character_set_client     | utf8                                                 |
| character_set_connection | utf8                                                 |
| character_set_database   | utf8                                                 |
| character_set_filesystem | binary                                               |
| character_set_results    | utf8                                                 |
| character_set_server     | latin1                                               |
| character_set_system     | utf8                                                 |
| character_sets_dir       | D:\Program Files\mysql-5.6.20-winx64\share\charsets\ |
+--------------------------+------------------------------------------------------+

character_set_server项不知道如何设置,不过不影响。修改数据库编码执行命令: mysql> alter database db_name character set utf8;

修改其他编码: mysql> set names ‘utf8‘;

    设置JSP页面编码:在页面顶部添加

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

修改数据库连接DriverManager.getConnection(url, usr, pwd)的url:

String url = "jdbc:mysql://localhost:3306/db_name?useUnicode=true&characterEncoding=utf-8";

 2、post传输方式

    在发送页面和接收页面顶部都添加以下代码:

1 <%  request.setCharacterEncoding("UTF-8");
2     response.setCharacterEncoding("UTF-8");
3     response.setContentType("text/html; charset=utf-8");
4 %>

(关于get方式,即在地址栏参数不知道如何修改。似乎需要修改Tomcat的server.xml文件中URIEncoding="UTF-8")

时间: 2024-08-08 04:15:32

JSP+MySQL中文乱码问题的相关文章

解决springmvc+mybatis+mysql中文乱码问题【转】

这篇文章主要介绍了解决java中springmvc+mybatis+mysql中文乱码问题的相关资料,需要的朋友可以参考下 近日使用ajax请求springmvc后台查询mysql数据库,页面显示中文出现乱码 最初在mybatis配置如下 <select id="queryContentById" resultType = "java.lang.String" parameterType="String" >     select t

mysql中文乱码终结

  主题:mysql中文乱码终结 我自己都不知道为了中文问题烦恼了多少个日子,最恨瑞典人了-谁叫他发明了mysql,还设置了默认设置:latin1.曾经也在想假如中国人发明了 mysql(my see狗),呵呵,那么我们还有这样烦恼吗?默认的就是gk2312 或者gbk.倘若考虑到台湾朋友加一个big5.就得了.可是呢?事实不是这样的,没有办法,自己只好baidu一下,google一下,甚至yahoo 一下.能找到的方法都试过了,好久了,直到今天让我找到了,想明白了.所以急切和大家分享以下心得.

MySql中文乱码问题(3)

MySql的客户端是在dos界面上,然而dos界面默认的字符集编码方式是:GBK (1).MySql字符转换原理图 (2).查看服务器的所有编码方式: >show variables like 'character%'; (3).通过以上观看,如果不想出现中文乱码情况,需要指定客户端的编码方式.连接器的编码方式.返回数据的编码方式: #设置客户端为GBK: >set character_set_client=gbk; #设置连接器使用UTF8 >set character_set_con

JSP出现中文乱码问题

今天纠结了好半天,本地运行程序后没有中文乱码,唯独发到服务器后运行出现了乱码. 究其原因,皆因eclipse环境默认的JSP编码是Iso-8859-1,需要将其改为utf-8,与JSP文件中的编码声明一致即可.JS文件的编码也顺便改成了UTF-8格式. 如下图所示: 参考文档: http://yu.you163.blog.163.com/blog/static/339877742013720105154172/ JSP出现中文乱码问题,布布扣,bubuko.com

总结--解决 mysql 中文乱码

首先分析一下导致mysql 中文乱码的原因: 1.建表时使用了latin 编码 2.连接数据库的编码没有指定 3.写入时就已经乱码(这种情况需要自己检查源数据了) 解决方法总结: 1.创建库时指定编码: create database testdb default charset utf8 2.修改库的编码: ALTER DATABASE `testtable` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin 3.修改表的编码: ALTER TABLE `

jsp传中文乱码问题 encodeURIComponent()编码方法

jQuery.ajax({            type:"POST",            url:"${ctx}/offer.do",            data:{                'method':'isNameExist',                'type':'area',                'id':id==""?null:id,                'name':encodeUR

Mysql中文乱码问题完美解决方案

MySQL会出现中文乱码的原因不外乎下列几点:1.server本身设定问题,例如还停留在latin12.table的语系设定问题(包含character与collation)3.客户端程式(例如php)的连线语系设定问题强烈建议使用utf8!!!!utf8可以兼容世界上所有字符!!!!一.避免创建数据库及表出现中文乱码和查看编码方法1.创建数据库的时候:CREATE DATABASE `test`CHARACTER SET 'utf8'COLLATE 'utf8_general_ci';2.建表

关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)(转)

这篇文章给大家介绍关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)的相关资料,还给大家收集些关于MySQL会出现中文乱码原因常见的几点,小伙伴快来看看吧 最近两天做项目总是被乱码问题困扰着,这不刚把mysql中文乱码问题解决了,下面小编把我的解决方案分享给大家,供大家参考,也方便以后自己查阅. 首先: 用show variables like "%colla%":show varables like "%char%":这两条命令查看数据库与服务端的字符集

sae python中Mysql中文乱码的解决

一开始我用的是: db=MySQLdb.connect(db=sae.const.MYSQL_DB,user=sae.const.MYSQL_USER,passwd=sae.const.MYSQL_PASS,host=sae.const.MYSQL_HOST,port=int(sae.const.MYSQL_PORT)) 数据库编码与python代码的编码都已设为utf8,在PHPMyAdmin中添加中文记录,在网页查询显示中却显示乱码,我在网上各种搜索都找不到解决方法.最后终于发现在连接数据库