1. 静态页面的乱码问题

文件的编码和浏览器要显示的编码不一致。

1) 检查文件原始的编码, 可以用记事本打开, 然后选择另存为来看;

2) 给当前页面加入一个指令来建议浏览器用指定的编码来显示文件字符内容.

3) 如果系统是英文XP,没装东亚字符集支持, 也会显示乱码.

2. JSP 页面的乱码问题

1) page 指令有个 pageEncoding="GBK" 这个会指定当前页面保存的编码, 如果写成ISO8859-1就不能保存汉字;

2) page 指令的 contentType="text/html; charset=ISO8859-1" 也会像静态页面一样让浏览器来优先选择一种编码.

如果JSP乱码的话,一般就显示成?,而且不管你给浏览器选什么样的编码,它都不能正确显示

3. 表单提交的乱码问题(Tomcat 特有)

1). POST 的乱码

a. 首先浏览器提交表单的编码是根据表单所在页面来决定的, 而不是根据提交后的 JSP 页面的编码来决定的. 把所有的页面的编码都设置成一样的,例如 GBK.

b. 处理方式就是在获取参数之前设置编码:

request.setCharacterEncoding("GBK");

c. 可以用过滤器的方式来解决, Tomcat 已经带了一个现成的:

apache-tomcat-5.5.23\webapps\jsp-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.java

web.xml

Set Character Encoding

filters.SetCharacterEncodingFilter

encoding

GBK

Set Character Encoding

/*

2) GET 方式的乱码

用 setCharacterEncoding() 不能解决. TOMCAT 的一个BUG, GET 方式传送的表单参数总是用的 ISO8859-1 编码. 我们要把它转成 GBK 方式.

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

System.out.println(username);

// 转码, 先取得原始的二进制字节数组

byte[] data = username.getBytes("ISO8859-1");

// 根据新的字符集再构造新的字符串

username = new String(data, "GBK");

小结:

所有的页面(除了最后的 GET 的乱码问题)都用统一的编码(GBK或者UTF-8), 就不会出现乱码问题.

4. 用过滤器来一次编码彻底解决表单参数的乱码问题

BeanSoft 2007-10-10 18:20 发表评论

文章来源:http://www.blogjava.net/beansoft/archive/2007/10/10/151848.html

tomcat jsp导入java_[导入]Tomcat JSP Web 开发中的乱码问题小姐相关推荐

  1. web开发中,中文乱码问题汇总

    web开发过程中总是会遇到一些中文乱码问题,今天做了一些汇总,不足的地方大家指正 1.我们开发中会碰到一些中文乱码,如"涓€浜屼笁鍥涗簲鍏"一堆繁体字,这个错误很可能是你用gb2 ...

  2. java css路径_java web开发中CSS路径有问题吗,运行jsp文件为什么找不到css文件?...

    ---------------------------------------------------------------------------------------------------- ...

  3. 谈谈WEB开发中的苦大难字符集问题

    记得刚做javaweb开发的时候被这个编码问题搞得晕头转向,经常稀里糊涂的编码正常了一会编码又乱了.那个时候迫于项目进度大多都是知其然不知其所以然.后来有时间就把整个体系搞了个遍,终于摸通了来龙去脉. ...

  4. web开发中常用的概念

    Tomcat服务器 Web开发中的常见概念 B/S系统和C/S系统 Brower/Server:浏览器 服务器 系统 ----- 网站 Client/Server:客户端 服务器 系统 ----- Q ...

  5. 浅谈Web开发中的6种技术

    CSDN博客不再经常更新,更多优质文章请来 粉丝联盟网 FansUnion.cn! (FansUnion) Web开发中的6种技术 1.html 超文本标记语言,即HTML(Hypertext Mar ...

  6. Web开发中的主要概念

    一.Web开发中的主要概念 1.静态资源:一成不变的.html.js.css 2.动态资源:JavaWeb.输出或产生静态资源.(用户用浏览器看到的页面永远都是静态资源) 3.JavaEE:十三种技术 ...

  7. 【笔记-node】《imooc-nodejs入门到企业web开发中的应用》

    目录 课程名 备注 入门必学 nodejs入门到企业web开发中的应用 框架与工具 node.js+koa2+mysql打造前后端分离精品项目<旧岛> 项目实战 20190317-2020 ...

  8. 小小base标签在web开发中的大作用

        稍微上点规模的项目,通常都会为不同模块或功能的页面,js,css等资源建立不同的路径,或者对不同的servlet等配置不同的虚拟路径.这时,关于各种路径的包含和转向问题长期困扰开发人员.   ...

  9. Java Web开发中路径问题小结

    Java Web开发中,路径问题是个挺麻烦的问题,本文小结了几个常见的路径问题,希望能对各位读者有所帮助. (1) Web开发中路径的几个基本概念 假设在浏览器中访问了如下的页面,如图1所示: 图1 ...

最新文章

  1. Linux C编程--string h函数解析
  2. PHP解决网站大流量与高并发
  3. android 截屏指定区域,Android截图 截取ContentView 截取指定的View并且保存
  4. 【MySQL】日期函数:日期、时间增减
  5. C# 生成 MongoDB 中的 ObjectId
  6. 用.netcore写一个简单redis驱动,调试windows版本的redis
  7. (小白)函数一: 声明函数的方法—语句定义法和表达式定义法的区别
  8. Python计算信息熵
  9. MySQL数据步骤管控_数据管理的发展过程分为哪三个阶段
  10. jstl表达式替换某些字符
  11. 董明珠解释举报奥克斯初衷:这不仅是企业间的竞争 更是道德的选择
  12. 现实版高达!美日巨型机器人格斗大战结果即将见分晓
  13. mysql数据卸载工具_如何把Mysql卸载干净(亲测有效)_Mysql_数据库
  14. 【琐碎】element-wise multiplication
  15. S7-1500 CPU、显示器、ET 200SP CPU 和 ET 200pro CPU 的固件更新方法
  16. sql:mysql:分析为什么like模糊查询效率低
  17. 工具 | 超实用工具listary和snipaste
  18. 解决:Windows打开文件时选择打开方式-》选择其他应用-》时出现无效应用。
  19. (转帖)Spring循环依赖的解决办法
  20. mybatis 一对一、一对多、多对一、多对多

热门文章

  1. python继承多重继承
  2. 【广告】我妹妹导演的毕设——数字传媒摄影作品
  3. Mysql密码忘记了怎么办?
  4. 偏函数 匿名函数 高阶函数 map filter reduce
  5. mac os x10.9.2 查看进程对应端口
  6. poj 2503 Trie树
  7. 力扣:组合总和 II DFS剪枝
  8. java mtom_java-axis1.4客户端使用Mtom发送文件
  9. dart 乘方运算符_Dart系列-运算符
  10. ubuntu20.04下安装vmshare tools_Go语言的安装与配置-vscode