关于 jsp java servlet 中文汉字乱码的解决方法
在servlet类中的get,post最前面加上
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");


对接收到的汉字字符串转码
String name = req.getParameter("name");
String deptName = req.getParameter("deptName");
name = new String(name.getBytes("ISO-8859-1"), "UTF-8");
deptName = new String(deptName.getBytes("ISO-8859-1"), "UTF-8");

完整样例:
package servlet; import Dao.DeptDao;
import Dao.EmpDao;
import entity.Emp;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException; public class EmpServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String action = req.getParameter("action");
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
if("listEmp".equals(action)){
listEmp(req,resp);
}
} private void listEmp(HttpServletRequest req, HttpServletResponse resp){
JSONArray result = EmpDao.listEmp();
PrintWriter pw = null;
try {
pw = resp.getWriter();
pw.println(result);
pw.flush();
pw.close();
} catch (IOException e) {
e.printStackTrace();
}
} @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String action = req.getParameter("action");
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
if("addEmp".equals(action)){
try {
addEmp(req,resp);
} catch (JSONException e) {
e.printStackTrace();
}
}
} private void addEmp(HttpServletRequest req, HttpServletResponse resp) throws JSONException, UnsupportedEncodingException {
String name = req.getParameter("name");
String deptName = req.getParameter("deptName");
name = new String(name.getBytes("ISO-8859-1"), "UTF-8");
deptName = new String(deptName.getBytes("ISO-8859-1"), "UTF-8"); int deptId = DeptDao.reConvert(deptName);
JSONObject result = EmpDao.addEmp(name,deptId);
try {
PrintWriter pw = resp.getWriter();
pw.println(result);
pw.flush();
pw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
关于 jsp java servlet 中文汉字乱码的解决方法的更多相关文章
- ECSHOP编辑器Fckeditor上传图片中文名称乱码的解决方法
ECSHOP编辑器Fckeditor上传图片中文名称乱码的解决方法 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2015-02-11 中文名乱码是因为:FCKed ...
- 用c#读取文件内容中文是乱码的解决方法:
用c#读取文件内容中文是乱码的解决方法: //方法1: StreamReader din = new StreamReader(@"C:\1.txt", System.Text.E ...
- URL传参时中文参数乱码的解决方法
URL传参时,中文参数乱码的解决: 今天在工作中遇到了这样的一个问题,在页面之间跳转时,我将中文的参数放入到url中,使用location进行跳转传参,但是发现接收到的参数值是乱码.我的代码是这样写的 ...
- WIN 10系统下,在DOS窗口输入Java或者javac出现乱码的解决方法
昨天在WIN10系统下完成了Java环境的安装配置,配置完成后验证环境的时候出了一个小插曲—输入java后窗口内中文字符出现乱码,如下图. 在经过一番google之后,发现,原来是我cmd窗口的代码页 ...
- SecureCRT中文显示乱码的解决方法
注:本文出自:http://riching.iteye.com/blog/349754 最近开始用SecureCRT登陆linux系统,由于是新手,很多问题不清楚,碰到显示中文乱码的问题,困扰了好几天 ...
- JS获取URL中文参数乱码的解决方法
浏览器URL参数值中带有汉字字符,在接收时直接获取会出现乱码,下面是解决方法(传递前不需要encodeURI): function getUrlVars() { var vars = [], hash ...
- PLSQL Developer 中文显示乱码的解决方法
PLSQL Developer 中文显示乱码是因为 Oracle 数据库所用的编码和 PLSQL Developer 所用的编码不同所导致的. 解决方法: 1. 先查询 Oracle 所用的编码 se ...
- win使用telnet到ubuntu下vim显示中文为乱码的解决方法~
1.几个路径: ubuntu: /etc/default/locale 相当于 centos:/etc/sysconfig/i18n vimrc的路径:① ~/.vimrc ② /etc/vi ...
- 用substr()截取中文出现乱码的解决方法
截取中文字符串时出现乱码(使用substr()函数) 程序一:PHP截取中文字符串方法 function msubstr($str, $start, $len) { $tmpstr = &quo ...
随机推荐
- AutoFac与ASP.NET MVC结合使用
MVC下的配置 通过NuGet安装AutoFac插件:Install-Package Autofac.Mvc5 在Global中调用: var builder= new ContainerBuilde ...
- BZOJ4819: [Sdoi2017]新生舞会(01分数规划)
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1029 Solved: 528[Submit][Status][Discuss] Descripti ...
- 1到32 数字正则 还有IP的
正则是按位解析匹配的,所以[1-32]是不行的. 解析: 1.1-32,包含1位数(1-9)和2位数(10-32) 2.10-32必须切割,10-19和20-29形式一样,得到[12][0-9],30 ...
- Hibernate框架学习(九)——Criteria语法
一.语法 1.基本查询 2.条件查询 3.分页查询 4.排序查询 5.统计查询 二.离线查询 1.非离线的Criteria 2.离线的Criteria 3.演示 public class Demo2 ...
- RocketMQ学习笔记(12)----RocketMQ的Consumer API简介
由于消息的消费方式有两种,所以两种方式也有不同的API: 1. PushConsumer的配置 1. consumerGroup: 默认值为DEFAULT_CONSUMER,Consumer组名,多个 ...
- VMware虚拟机共享文件夹
安装好虚拟文件夹后,第二次开机时发现/mnt/hgfs目录下找不到共享的文件夹,原因是vmfg-fuse服务没有开启. 在root的配置文件中添加如下代码,设置开机自启: /usr/bin/vmhgf ...
- 池(Pool)
#1 就是一个资源的集合,用的时候按照你的需要去取,用完了给人家放回去 #2 学编程的时候,老师给我们的解释过池的意思,大概是: 如果你喝水,你可以拿杯子去水龙头接.如果很多人喝水,那就只能排队去接. ...
- Vue学习之路第七篇:跑马灯项目实现
前面六篇讲解了Vue的一些基础知识,正所谓:学以致用,今天我们将用前六篇的基础知识,来实现类似跑马灯的项目. 学前准备: 需要掌握定时器的两个函数:setInterval和clearInterval以 ...
- UVALive-7198 Tall orders 微积分 二分
题目链接:https://cn.vjudge.net/problem/UVALive-7198 题意 有悬链线方程$ f(x)=a \cdot cosh(\frac{s}{a}) $, 现有两个电线杆 ...
- webpack不打包指定的js文件
背景: 在项目实际开发中,有一些IP地址需要随时修改,进行部署,例如websocket的地址.因此在项目打包的时候,不希望保持IP地址的文件被打包,因此就需要把需要修改的常量独立出来,存放在一个js文 ...