电脑不是国人发明以及中国文字的博大精深让我们编程的人也时时遇到麻烦。在linux中中文问题确实头痛了很久,现在的servlet看来又有问题servlet中的问题一般有这么几个

通过网址传递过来的中文参数出现乱码,如?name=小灰到了里面就不知道变成什么玩意了。

程序内部处理乱码,正确得到中文参数处理时内部又乱码,和数据库通讯的时候又经常有这个问题。

程序将中文输出乱码。

tomcat 5.5 现在已经基本能解决这个问题

最简单的一个方法应该是使用tomcat示例中\servlets-examples\WEB-INF\classes\filters下包含的SetCharacterEncodingFilter过滤器将这个类复制到自己工程的web-inf文件夹的同一位置。然后在工程的web.xml中添加以下部分。

Set Character Encoding

filters.SetCharacterEncodingFilter

encoding

gbk

Set Character Encoding

/*

然后在conf/server.xml中的Connector标记里面添加URIEncoding="gbk"这样就解决了传递时乱码的问题。

然后还可以设

request.setCharacterEncoding("gbk");

response.setCharacterEncoding("gbk");

但是程序内部还是可能乱码,在有这种问题的时候可以进行编码转换。例如

String sr="中文";

String tf=new String(sr.getBytes("gbk"),"ISO8859_1");

这样基本能解决tomcat处理时出现乱码的情况了。

解决了这个问题。可是如果url路径中或参数中存在空格的话就有问题。把一个带空格的文本做为url上带的参数肯定不行。需要进行转码,例如我有段程序是生成一个文件下载的超链接

File file=new File("e:\中文 文件.txt");

out.println(""+file.getName()+"

倘若path中带有空格,这个链接就不会正常,空格及后面文字被忽略。

生成的链接是…DownLoadServlet?filename=中文

这时就需要在out.println(…);语句前面加上这么两句

String path=file.getName();

path=java.net.URLEncoder.encode(path);

将……./DownLoadServlet?filename="+file.getName()+">"…改成

……./DownLoadServlet?filename="+path+"…….

就解决了url路径中含有空格的问题

servlet运行html乱码,使用tomcat运行servlet时中文乱码的解决相关推荐

  1. mybatis mysql 中文乱码_Mybatis + Mysql 插入数据时中文乱码问题

    近日跟朋友一起建立一个项目,用的是spring+mybatis+mysql. 今天碰到一个mybatis向mysql中插入数据时,中文显示为'???'的问题,拿出来说下. 对于数据库操作中出现的中文乱 ...

  2. IDEA springboot项目中properties配置文件 {针对将对应GBK改为UTF-8并勾选转为ASCII后仍无效情况} 运行时中文乱码解决

    springboot项目中properties配置文件中,运行时中文乱码情况 file encoding里边进行设置,设为utf-8并勾选转为ascii,分别在setting.setting for ...

  3. linux tomcat 日志乱码,Linux下TOMCAT中日志出现中文乱码

    红帽子AS4,其中TOMCAT为6.0. 结果TOMCAT中日志出现中文乱码 解决方法修改i18n: 最后的配置为: [root@linux etc]# more /etc/sysconfig/i18 ...

  4. Tomcat和Was服务器中文乱码问题总结

    Tomcat和Was服务器中文乱码问题总结 Tomcat默认将get请求中的中文参数进行了ISO-8859-1字符集的编码. was默认的字符集编码为UTF-8. 1.使用Was作为容器的项目,不需要 ...

  5. tomcat启动时中文乱码

    解决tomcat启动时中文乱码 进入tomcat安装目录,找到conf文件夹下的logging.properties: 用编辑器(我用的notepad++)打开logging.properties, ...

  6. 文件下载图片或者视频及解决保存文件时中文乱码问题

    文件下载需求: 页面显示超链接 点击超链接后弹出下载提示框 完成图片文件下载 分析: 超链接指向的资源如果能够被浏览器解析,则在浏览器中展示,如果不能解析,则弹出下载提示框.不满足需求(所以要在a标签 ...

  7. python存成csv文件时中文乱码_Python在向CSV文件写中文时乱码的处理办法

    前言 python2最大的坑在于中文编码问题,遇到中文报错首先加u,再各种encode.decode. 当list.tuple.dict里面有中文时,打印出来的是Unicode编码,这个是无解的. 对 ...

  8. 从本机发送信息到另一台服务器上时中文乱码

    2019独角兽企业重金招聘Python工程师标准>>> 从本机发送信息到另一台服务器上时中文乱码 别的电脑都没问题,只有本机通过sts开tomcat并发送信息到另一服务器时中文乱码. ...

  9. get/post时中文乱码问题的解决办法

    get/post时中文乱码问题的解决办法 参考文章: (1)get/post时中文乱码问题的解决办法 (2)https://www.cnblogs.com/opaljc/p/3807786.html ...

  10. 导入项目时中文乱码的消除

    导入项目时中文乱码一般是因为导入的java文件编码和Eclipse对java文件的默认编码不一致导致的,通过设置改变java文件的默认编码设置可以消除乱码. java文件默认编码设置: Window ...

最新文章

  1. 063_object标签
  2. perl数组硬引用_Perl个人总结
  3. TestNG+ReportNG+Maven优化测试报告
  4. 安装了虚拟机后mysql用不了_在虚拟机上安装mysql,安装好了并且初始化之后,一直无法启动mysql如何解决?...
  5. 知识图谱在招聘推荐匹配的应用
  6. python3.x中pip升级报错
  7. Mac如何删除python Python cannot be opened because of a problem
  8. win7服务器如何还原系统教程视频,windows7系统还愿怎么操作_win7系统还原重置方法...
  9. sql server2000的1433端口不通怎么办
  10. VirtualBox 0X00000000指令引用的0X00000000内存该内存不能为written
  11. 2022年11月(下半年)信息系统项目管理师考试-综合知识真题及解析
  12. BZOJ4199: [Noi2015]品酒大会
  13. 信息学奥赛一本通(c++):1413:确定进制
  14. 微信小程序|使用小程序制作一个足球拼图小游戏
  15. CityMaker学习教程08 一个示例,创建漫游路径
  16. 如何选择合适的CDN加速合作?关键在于这三个方面!
  17. SPSS--回归-多元线性回归模型案例解析!(一)
  18. 笔记本如何选择修复计算机,详细教你笔记本电脑无线网卡修复
  19. Hexo Next 主题中添加本地搜索功能
  20. Pivotal,天赋而成的云原生转型引导者

热门文章

  1. Arduino实现语音实时播报当前温湿度
  2. ZipEntry的使用
  3. 视频教程-【深入理解计算机网络】讲师解读计算机网络原理视频课程(上)-计算机网络
  4. 大学计算机基础教程大纲
  5. Unity热更之旧项目救星——Xlua热补丁修复
  6. PCIe扫盲——基于WinDriver快速开发PCIe驱动简明教程
  7. 磁共振成像技术发展简史丨科学史
  8. 关于计算机的英语介绍,计算机专业的英语自我介绍
  9. C#实现百度地图瓦片下载器(更新无水印版下载地址)
  10. Ribbon界面开发(C++)