关于 jsp java servlet 中文汉字乱码的解决方法
2024-08-31 12:30:09
在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();
}
}
}
最新文章
- Semaphore(计数信号量)
- Thinking in java学习笔记之LinkedList 与Stack
- MySql Windws 下自动备份脚本
- 本机jdbc连接报The user specified as a definer ('root'@'%') does not exist
- java基础-基本数据类型
- js 获取控制台的错误信息
- Linux系统下Apache2.4.17的安装过程
- 低功耗蓝牙BLE [学习笔记]
- unity3d打包和包的使用
- PowerDesigner(一)-PowerDesigner概述(系统分析与建模)(转)
- HTTP 错误 405.0 - Method Not Allowed
- Android进阶笔记13:RoboBinding(实现了数据绑定 Presentation Model(MVVM) 模式的Android开源框架)
- excle,aspose.cells 公式字段值取不到 xmls转xml
- 打开自定义链接新窗口(safari JS prompt的坑!)2016.03.08
- 怎样做才是最优雅方式切换 web 项目数据源 ?
- CSS学习笔记(一):定位与溢出
- 在centos7 部署bbr
- RocketMQ入门案例
- 阿里云搭建hadoop集群服务器,内网、外网访问问题(详解。。。)
- [jquery] 删除文章的时候弹出确认窗口