乱码解决方法

常见编码方式主要有(ISO-8859-1,GBK,GB2312,UTF-8,)

乱码主要分4大块:

        1、页面乱码;

                   HTML:    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
                  JSP:    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
                  Servlet:request.setCharacterEncoding("UTF-8");
                                response.setCharacterEncoding("UTF-8");

注意:
          a.JSP一定要和你的request/response.setCharacterEncoding的编码一样
          b.request/response.setCharacterEncoding对get无效

        2、上传文件乱码;

                   普通字段        name = new String(item.getString("UTF-8"));
                   非普通字段    DiskFileUpload dfu = new DiskFileUpload();
                                           dfu.setHeaderEncoding("UTF-8");

        3、普通表单提交乱码;

                   post:request.setCharacterEncoding("UTF-8");
                   get:name = new String(name.getbytes("ISO-8859-1"),"UTF-8");
                   在tomcat server.xml 添加(端口前的位置8080) UTIEncoding ="UTF-8"

        4、数据库乱码(以mysql为例);

                  首先在安装的时候选择默认编码(UTF-8)

                  在创建数据库的时候也要选择(UTF-8)

                  若数据库的编码不是UTF-8 的编码的,可以用

                  alter database [dbName] default character set utf8;
                  use [dbName];
                  alter table [tableName] convert to character set utf8;

                  进行修改。当然修改之后你还是看不到之前存放的中文数据,这个时候你就要用set names gbk了,

      目前我到的编码问题大致也就这几种,有更好更多的方式的希望大家多多提出,大家一起学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值