JavaWeb中常见的乱码处理(亲测)
常见编码方式:
ISO-8859-1 西欧码
GB2312 简体中文码
GBK 大五码
UTF-8 全球码(推荐)
1.页面(HTML,JSP,Servlet)
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
response.setcontentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("中文");
2.上传(控件)
普通字段(上传中增加的):
item.getString("UTF-8");
文件名:
DiskFileUpload dfu = new ...
dfu.setHeaderEcoding("UTF-8");
3.普通表单提交
post方式:
request.setCharacterEncoding("UTF-8");
get方式:
tomcat--->conf--->server.xml---->增加 URIEncoding="UTF-8"
<Connector URIEncoding="UTF-8" port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- A "Connector" using the shared thread pool-->
4.数据库(MySQL)
如何解决MySQL5.1的编码问题:
(1).修改mysql的核心配置文件:(mysql安装目录下)my.ini
两处字符编码改换:u
default-character-set=utf8
(2).重启MySQL服务器
net stop mysql
net start mysql
(3).重新登录,使用mysql的status命令查看状态信息
这样以后创建的数据库和数据表的默认编码方式就是UTF-8
(4).解决残留数据库和数据表的编码问题
alter database [dbName] default character set utf8;
use [dbName];
alter table [tableName] convert to character set utf8;
(5).为了在dos命令行能够看到UTF-8编码的中文,需要
set names gbk;
(6).接收表单数据时第一行JAVA代码加上request.setCharacterEncoding("UTF-8");
5.Ajax中的乱码
get方式提交:
(1)前台一次或没有转码
url = encodeURI(url);
后台转码
name = new String(name.getBytes("ISO-8859-1"),"UTF-8");
pass = new String(pass.getBytes("ISO-8859-1"),"UTF-8");
(2)前台两次转码
url = encodeURI(encodeURI(url));
后台转码
name = URLDecoder.decode(name,"UTF-8");
pass = URLDecoder.decode(pass,"UTF-8");
6.其它
(1).post: method="post" && pageEcoding="UTF-8/GBK" && TestServlet中首行一定要写
request.setCharacterEcoding("UTF-8");
注: Filter 配置过滤器的时候 只能是post有效
(2).GET href="TestServlet" new String(); onclick="js:funA();"
funA(){
var url = "TestServlet?name='中文' ";
url = encodeURI(url);
window.location.href=url;
}
(3).TestServlet.java
username=URLEcncode(username,"UTF-8");
response.sendRedirect("welcome.jsp?name="+name+"&pass="+pass);
welcome.jsp
request.getparameter("name");
request.getparameter("pass");
name = new String(name.getByte("ISO-8859-1"),"UTF-8");
此篇博客系学习中总结,对初学者有一定帮助,其中一些是老师传授,在这里分享一下,欢迎大家补充或提出意见,共勉!
JavaWeb中常见的乱码处理(亲测)的更多相关文章
- Linux中oracle的安装,亲测
一.下载oracle的软件包 地址: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-li ...
- Java web中常见编码乱码问题(二)
根据上篇记录Java web中常见编码乱码问题(一), 接着记录乱码案例: 案例分析: 2.输出流写入内容或者输入流读取内容时乱码(内容中有中文) 原因分析: a. 如果是按字节写入或读取时乱码, ...
- 去哪网实习总结:JavaWeb中文传參乱码问题的解决(JavaWeb)
本来是以做数据挖掘的目的进去哪网的.结构却成了系统开发... 只是还是比較认真的做了三个月.老师非常认同我的工作态度和成果... 实习立即就要结束了,总结一下几点之前没有注意过的变成习惯和问题,分享给 ...
- Java web中常见编码乱码问题(一)
最近在看Java web中中文编码问题,特此记录下. 本文将会介绍常见编码方式和Java web中遇到中文乱码问题的常见解决方法: 一.常见编码方式: 1.ASCII 码 众所周知,这是最简单的编码. ...
- 详解Javaweb中常见漏洞的防御
上一篇给大家介绍了SpringMVC中常见的客户端数据输入点,这一篇给大家讲解下java中常见漏洞的防御方法. 0x01.sql注入 下面我们就用利用SpringMVC自带的数据库操作类jdbcTem ...
- ssh 客户端远程vi文本文件中文乱码(亲测)
由于是生产环境,且非笔者控制,为了避免影响系统全局,仅对本session有效 export LANG="zh_CN.UTF-8"export LANG="zh_CN.GB ...
- Java代码中执行Linux命令,亲测可用
前提需要知道怎么在linux怎么新建java文件和怎么编译,否则请先学其他知识!! import java.io.*;public class Test{ public static void mai ...
- MyEclipse10 中设置Jquery提醒,亲测可用
最近做练习需要用到Jquery,在myeclipse中默认没有提示功能.然后在网上找解决方案,有一种方案说使用spket,然后搜索安装,折腾了半天还是不行,脑细胞死掉几百个.. 然后在网上搜到另外一种 ...
- Linux for Matlab中文注释乱码(亲测有效)
中文注释乱码的原因是windows下的m文件采用的是gb2312编码,只要将所有的m文件转成 utf8文件,显示就正常了. 1.首先安装enca:sudo apt-get install enca 2 ...
随机推荐
- II8部署WCF服务出错
环境:Windows 2012 R2 + IIS 8.0 + .NET 4.5 错误404.3 - Not Found: 控制面板->程序->启用或关闭Windows功能,如下图所示,将需 ...
- webpack 4 :从0配置到项目搭建
webpack4发布以来,我写项目都是用脚手架,即使再简单的项目,真的是really shame..虽然道听途说了很多 webpack4 的特性,却没有尝试过,因为它给人的感觉就是,em...很难.但 ...
- 从C语言项目谈编程
很多初学C语言的小伙伴,在学习之初并没有一个大概的概念,学习这门语言需要掌握多少知识点,怎么才算学的差不多? C语言的精髓点在哪? 学到多少东西才能够达到做项目的标准?学习的时候需要注意哪些细节点?疑 ...
- linux下守护进程的创建
最近在学习linux c编程 看到了守护进程的创建,感觉很好玩, 测试环境ubuntu 15.04 下面贴出测试代码 #include <stdio.h> #include <std ...
- ctsc&apio2018八日游
day0: 早就知道自己是打酱油的..早就做好了打铁的准备.. Q:那你来干嘛 A:当然是来玩啊!!玩啊!啊!! emmmmm 抱着半期考不及格的卷子瑟瑟发抖地上了飞机. day1:报道!当然还有在宾 ...
- AlertDialog.Builder 显示为白色 蓝色字
AlertDialog.Builder dialog = new AlertDialog.Builder( getActivity(),AlertDialog.THEME_HOLO_LIGHT);
- Python学习笔记 - day9 - 模块与包
模块与包 一个模块就是一个包含了Python定义和声明的文件,文件名就是模块名加上.py的后缀,导入一个py文件,解释器解释该py文件,导入一个包,解释器解释该包下的 __init__.py 文件,所 ...
- sicily 1172. Queens, Knights and Pawns
Description You all are familiar with the famous 8-queens problem which asks you to place 8 queens o ...
- 如何在阿里云esc上安装wordpress
本人的个人网纱建好,但是由于新申请的域名还没有备案 所以暂时无法通过域名访问. 1.按顺序边看边跟着做基本上你能够很优雅的完成大部分设置. http://bbs.aliyun.com/read/162 ...
- Jquery和JS实现浏览器全屏
var fullscreen=function(){ elem=document.body; if(elem.webkitRequestFullScreen){ elem.webkitRequestF ...