好程序员Java学习路线分享如何处理中文参数,为什么表单中会产生中文乱码。

好程序员Java培训

产生乱码,就是因为服务器和客户端沟通的编码不一致造成的,因此解决的办法是:在客户端和服务器之间设置一个统一的编码,之后就按照此编码进行数据的传输和接收。

GET中文乱码

//获取表单提交的姓名

String name=request.getParameter("name");

name=new String(name.getBytes("ISO-8859-1"),"UTF-8");

在Tomcat7及以下客户端以UTF-8的编码传输数据到服务器端,而服务器端的request对象使用的是ISO-8859-1这个字符编码来接收数据,服务器和客户端沟通的编码不一致因此才会产生中文乱码的。

解决办法:在接收到数据后,先获取request对象以ISO8859-1字符编码接收到的原始数据的字节数组,然后通过字节数组以指定的编码构建字符串,解决乱码问题。

Tomcat8的版本中GET基本就不会乱码了,因为服务器对url的编码格式可以进行自动转换

POST乱码

由于客户端是以UTF-8字符编码将表单数据传输到服务器端的,因此服务器也需要设置以UTF-8字符编码进行接收,并且必须在接收参数之前定义;

//设置请求参数的编码格式--对GET无效

request.setCharacterEncoding("UTF-8");

Servlet输出中文

1 页面返回乱码原因

浏览器识别不到返回的中文是什么编码格式,就会默认使用GB2312,如果返回的是UTF-8格式的那么在浏览器上就会显示乱码的问题

2 如何解决内容中的乱码

response.setContentType("text/html;charset=UTF-8");

3 综合设置

在接收参数值之前:

request.setCharacterEncoding("UTF-8");//设置请求的编码

response.setCharacterEncoding("UTF-8");//设置响应的编码

response.setContentType("text/html;charset=utf-8");//设置响应类型和响应内容

的编码

java 中文乱码_好程序员Java学习路线分享如何处理中文参数相关推荐

  1. system.img解包打包工具_好程序员云计算学习路线分享文件打包及压缩

    好程序员云计算学习路线分享文件打包及压缩 好程序员 建议针对目录 Demo: 复制未打包的文件到远程主机 [root@yangs ~]# du -sh /etc 39M /etc [root@yang ...

  2. 表单提交中文乱码_Java学习路线分享如何处理中文参数

    Java学习路线分享如何处理中文参数,为什么表单中会产生中文乱码 产生乱码,就是因为服务器和客户端沟通的编码不一致造成的,因此解决的办法是:在客户端和服务器之间设置一个统一的编码,之后就按照此编码进行 ...

  3. 好程序员Python学习路线分享Linux和数据库部分

    好程序员Python学习路线分享Linux和数据库部分,技能树:掌握Linux操作系统管理技术,可以搭建几乎所有Linux环境服务器. 学习线路简单示意图: 知识点细化: Linux操作系统:常见操作 ...

  4. mount: 未知的文件系统类型“vboxsf”_好程序员云计算学习路线教程大纲课件:Mount 挂载详解...

    好程序员云计算学习路线教程大纲课件:Mount 挂载详解: ====================================================================== ...

  5. java static关键字_好程序员Java教程分享static关键字的理解

    好程序员Java教程分享static关键字的理解,static关键字含义可以理解为静态的. 1. 当其修饰属性时,该属性为整个类公有,所有的对象操作的都是同一个静态属性.所以调用时应该使用类名去调用, ...

  6. java喷泉编码_好程序员Java教程分享使用JS实现简单喷泉效果

    原标题:好程序员Java教程分享使用JS实现简单喷泉效果 好程序员Java教程分享使用JS实现简单喷泉效果,最近,在教学生使用JS的基本操作,为了练习JS的基本作用,特地写了一个喷泉效果,代码如下: ...

  7. bytes数组转string指定编码_好程序员Java学习路线分享Java基础之string

    好程序员Java学习路线分享Java基础之string 好程序员Java培训 先来讲一下字符串 字串符分类: 不可变字符串:----String.字符串本身不能发生改变,与指向字符串的引用无关. St ...

  8. 2019年Java程序员的学习路线

    2019年Java程序员的学习路线 一.基础篇 面向对象 什么是面向对象 面向对象.面向过程 面向对象的三大基本特征和五大基本原则 平台无关性 Java如何实现的平台无关 JVM还支持哪些语言(Kot ...

  9. javaweb模板_好程序员Java教程分享javaweb框架

    好程序员Java教程分享javaweb框架:Java是开源的,框架很多,这些框架都能解决特定的问题,提高开发效率.简化我们的代码复杂度,现在除了很多大家通用的一些主流框架外,很多公司针对自己的业务会自 ...

最新文章

  1. P2396-yyylovesMathsVII【状压dp】
  2. linux阻塞原语,Linux中的内存原语是什么?
  3. python的一些库(模块)集合
  4. 连载三:RobotFramework+Selenium+Jenkins分布式构建
  5. SSH远程登陆配置sshd_config文件详解
  6. 5G关键技术及应用、5G移动通信组网架构
  7. vue项目生成二维码功能使用QRCode(接入微信和支付宝支付接口)
  8. R 编程语言 - 简介
  9. java按键机nes模拟器_NES 模拟器开发教程 12 - 输入设备
  10. python条件句格式_python条件语句是什么?条件语句的一般格式是什么样的?
  11. 历时一个月整理2021金三银四Java面试题汇总,足足127页!
  12. 宝塔 Let's Encrypt 域名解析错误---解决方法
  13. POJO与Bean的区别
  14. python隐秘的角落——笛卡尔之心
  15. 自己写小工具 让工作更简单更效率
  16. GPS定位系统源码,通用系统源码包含GPS行业核心功能可轻松开发出各类行业应用
  17. Canvas绘图在微信小程序中的应用:生成个性化海报 1
  18. 【千寻位置网】方舟计划发布了
  19. EXCEL中转置粘贴成值功能如何设置成热键或鼠标手势?
  20. php iterator,PHP遍历接口Iterator详解

热门文章

  1. mongoDB配制及学习
  2. Markdown写作入门
  3. Mac SavePanel 保存文件的GUI代码
  4. git merge 和 git rebase 小结
  5. JDK开发WebService
  6. Qt-连续容器及迭代器
  7. 如何将 byte[] 转换为 IntPtr?
  8. 手机锁屏js倒计时停止问题解决办法探索
  9. React 开发常见报错解决方法
  10. 【白皮书分享】2021超级品牌力白皮书:数字时代的品牌人群心智重塑.pdf(附下载链接)...