以下是几种在开发中中文乱码问题的解决方案

当sevlet返回js脚本时弹出框显示中文乱码的解决方案:
可以在servlet中加上response.setContentType(“text/html;charset=utf-8”);
servlet中用response有3种设置输出内容的编码方式:
1.response.setCharacterEncoding(“UTF-8”); 只能用来设置out输出流中所采用的编码,但是他的优先权最高,可以覆盖后两种方法中的设置;

2.response.setContentType(“text/html;charset=UTF-8”); 即可以设置out输出流中字符的编码方式,也可是设置浏览器接收到这些字符后以什么编码方式来解码,它的优先权低于第一种方法,但高于response.setLocale(new java.util.Locale(“zh”,“CN”)); 相当于服务端解析:<%@ page contentType=“text/html;charset=UTF-8” %>

3.response.setLocale(new java.util.Locale(“zh”,“CN”));只能用来设置out输出流中字符的编码方式,但是它的优先权最低,在已经用前两种方法之一设置了编码方式以后,它就被覆盖而不起作用了。

public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");request.setCharacterEncoding("utf-8");把页面参数按utf-8编码后传入服务器端// response.setLocale(new java.util.Locale("zh","CN"));// response.setCharacterEncoding("utf-8");int bid = Integer.parseInt(request.getParameter("bid"));BookService bookService = new BookServiceImpl();boolean result = bookService.deleteBook(bid);if(result){response.getWriter().print("<script type='text/javascript'>alert('删除成功!');window.location='ShowAllServlet'</script>");}else{response.getWriter().print("<script type='text/javascript'>alert('删除失败!');window.location='ShowAllServlet'</script>");}}

jsp页面显示乱码,则需要你在jsp页面中设置编码方式,这里一般最好三个都要配上utf-8:

<%@ page language=“java” contentType=“text/html; charset=utf-8” pageEncoding=“utf-8”%> 是服务器端java程序运行时的输出编码,服务器端以什么样的编码向客户端输出HTML. 。

< meta http-equiv=“Content-Type” content=“text/html; charset=utf-8”>是指客户端浏览器以什么样的编码来显示网页,指导浏览器解析服务器端传入的HTML流. 同时它还有一个作用,指导其提交表单的时候使用什么编码传入request.

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body></body>
</html>

如果使用SSM框架开发,则可以通过在web.xml中配置字符编码过滤器的方式统一字符编码

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"><display-name>UserManager</display-name><welcome-file-list><welcome-file>login.jsp</welcome-file></welcome-file-list><!-- 配置spring监听 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- 统一字符编码 --><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param><init-param>  <param-name>forceEncoding</param-name>  <param-value>true</param-value>  </init-param>  </filter><filter-mapping>  <filter-name>CharacterEncodingFilter</filter-name>  <url-pattern>/*</url-pattern>  </filter-mapping>  </web-app>

在web开发中,tomcat对于传输的字符串都是采用iso-8859-1编码/解码方式。而浏览器端对于中文都是用gbk或utf-8中文编码/解码方式,所以传到后台都会是乱码的,容器一般都是有处理的,所以中文能正常显示和存储。但有些情况也是会出现乱码的,解决方式如下

String b = new String(str.getBytes(“iso-8859-1”,“客户端的编码/解码方式”)) // 中文解码方式一般用的是utf-8或者gbk。
如:

 String b1 = new String(str.getBytes("iso-8859-1","utf-8"));

感谢您的阅读,欢迎参观我的个人网站:闲乐小站【www.xianlewang.cn】

中文乱码问题的各种对应的解决方案相关推荐

  1. ajax获取数据中文乱码问题最简单的完美解决方案

    ajax获取数据中文乱码问题最简单的完美解决方案 参考文章: (1)ajax获取数据中文乱码问题最简单的完美解决方案 (2)https://www.cnblogs.com/konglxblog/p/1 ...

  2. springmvc 使用fastjson 处理 json 数据时中文乱码

    2019独角兽企业重金招聘Python工程师标准>>> 原因:  springmvc在处理请求时,默认采用的是 ISO-8859-1 编码格式,具体原因不了解,个人觉得是还没有来得及 ...

  3. 推荐一款word转pdf超好用的包:aspose-words(解决中文乱码)

    aspose-words 是一款超好用的转换工具,转换效果很好,且实现超级简单 首先通过pom.xml 引入 <dependency><groupId>com.aspose&l ...

  4. Redis中文乱码问题的解决

    今天测试一个小功能,用redis做了个缓存,然后启动redis客户端进行查询,发现得不到想要的中文结果.网上查找相关的解决方案,却没有一个能完整解决问题的,最后自己一步一个脚印解决了. 1. 问题的产 ...

  5. html中文乱码 HTML5

    html中文乱码 HTML5 html中文乱码原因:编码格式不匹配 解决方案: <!DOCTYPE html> <html> <head><!--添加本行代码 ...

  6. EF for MySql中文乱码问题解决

    问题: 使用EntiryFramework for MySql操作数据库时,向表中插入数据出现中文乱码问题,都是问号? 解决方案: 1.保证MySql数据的编码为utf8 设置方法:http://bl ...

  7. RHEL5.1安装VM TOOL及中文乱码终极解决方案

    VMWARE tool 主要的功能就是让用户在虚拟机和真实系统之间实现无缝切换,这个功能很方便,当然VMware Tools最主要是实现linux和windows的文件共享. 1.挂载VM tool的 ...

  8. php乱码解决方案,php中文乱码问题的4种解决方案

    乱码的出现有2种原因,一种是由于编码(charset) 设置错误,导致浏览器以错误的编码来解析,从而出现了满屏乱七八糟的"天书",第二种就是文件被以错误的编码打开,然后保存,比如一 ...

  9. iis 站点中文乱码 解决方案

    iis 站点中文乱码 解决方案 参考文章: (1)iis 站点中文乱码 解决方案 (2)https://www.cnblogs.com/zhaokunbokeyuan256/p/10001726.ht ...

最新文章

  1. java se用哪个eclipse_【JAVA SE基础篇】5.eclipse的使用和运行
  2. 为何计算机科学领域的女性不多?
  3. 词法、语法与语义相关知识
  4. Customizing Download - product hierarchy
  5. 语言孪生素数问题_刘建亚教授讲述“素数的故事”
  6. python定义私有变量的方法_Python类如何定义私有变量
  7. jdk13.0.2安装mysql_centos下的安装mysql,jdk
  8. 人脸重建github源码总结
  9. Python微博项目
  10. mysql千万测试表生成,随机id、username、age、sex、create_time
  11. dw css定位,Dreamweaver中层的定位
  12. linux常用命令课堂总结
  13. office2007之PPT模版更换与应用
  14. django项目中涉及到的一些常用sql语句学习整理
  15. iPhone照片的云端备份和本地移动硬盘备份 策略
  16. 解决Mac OS 山猫10.8下Xcode无法更新以及速度慢的问题
  17. C/C++的左值和右值
  18. python库的下载安装_Python库的安装
  19. element-ui 中的el-table表格默认的“暂无数据”修改
  20. 英雄联盟开始游戏后黑屏只有鼠标指针的处理

热门文章

  1. 太强了!GitHub上白嫖的SpringCloud微服务进阶宝典,啃完感觉能吊锤面试官!
  2. 基于Java毕业设计游泳馆管理平台源码+系统+mysql+lw文档+部署软件
  3. JSDoc 注释规范
  4. VMware虚拟机最新详细安装保姆级教程(2023年新版教程)
  5. HTML+CSS简单实例(一)
  6. 【Transformers】第 9 章 :处理很少或没有标签
  7. GIS100例033—ArcGIS制图阴影效果(制图表达方式)
  8. HDU6124(有趣的数学题)
  9. Android recycleview瀑布流中间穿插一行占满一屏
  10. Java:SoftReference