您现在的位置:首页 >> 基础 >> Java编程 >> 内容

Java项目实践,开发中汉字问题的原因分析及解决方法

时间:2020-11-9 10:45:48

  核心提示:这个是刚入职同事遇到的问题,问题是这样的,他周末在熟悉项目框架代码时,执行程序时发现浏览器打开JSP文件看到的中文是乱码。 用户访问JSP文件过程图问题项目中JSP文件同事们都在用,也没发现有汉字乱码...

这个是刚入职同事遇到的问题,问题是这样的,他周末在熟悉项目框架代码时,执行程序时发现浏览器打开JSP文件看到的中文是乱码。

用户访问JSP文件过程图

问题

项目中JSP文件同事们都在用,也没发现有汉字乱码问题,文件在开头也设置了

“<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>” ,但他的电脑上确实是乱码(同事的电脑是新装的环境),他反馈这个问题后,我可以确定项目代码一定是没问题的,100%是他电脑环境的问题。

原因分析

根据项目是大家都在用的,也用了很长时间,所以一开始就定位到是他电脑环境的问题,从开发工具到Tomcat都检查了一遍,该设置的都按要求设置好的,可问题还是没解决,在网上查了很多资料,解决方法大多都是设置正确的编码,这个是自己知道的方法。

一个简单的问题,没想到费这么大劲,最后是在一个技术论坛上发现有人遇到这个问题,问题是出在JRE上,具体原因是他电脑上的JRE版本有问题,这个是万万没想到的。

Java 运行环境 (JRE) 分英文版和国际版,但只有国际版才支持非英文字符,他电脑上装的是英文版, Java 开发工具包 (JDK) 肯定支持多国字符,问题是他不知道在哪下载的JRE,直接用的压缩包,没有自己装JDK(可能是刚刚参加工作吧),具体原因也没多问,能解决问题就好。

下面再补充一个知识点:

“ Java 源代码-> Java 字节码”,标准的 Java 编译器 javac 使用的字符集是系统默认的字符集,比如在中文 Windows 操作系统上就是 GBK ,而在 Linux 操作系统上就是ISO-8859-1,所以开发人员在 Linux 操作系统上编译的类中源文件中的中文字符都出了问题,解决的办法就是在编译的时候添加 encoding 参数,这样才能够与平台无关,用法是 javac –encoding GBK。

解决方法

把我自己JDK文件压缩一份,给他装好,设置环境变量,问题解决了;解决问题往往是找原因最难,解决方法都比较简单。

以上,是我们公司刚刚入职的同事昨天遇到的问题,我帮他解决了问题,并分析了产生的原因,在这里记录下来,帮助遇到同样问题的小伙伴们,解决方法仅供参考,有什么好的解决方法,可以评论区交流。

我是一名码龄10年的程序员,在这里会分享实在干货,让你少走弯路,成就精彩人生。

Java免费学习   Java自学网 http://www.javalearns.com

关注微信号:javalearns   随时随地学Java

或扫一扫

随时随地学Java

作者:不详 来源:网络
    你是从哪里知道本网站的?
  • 网友介绍的
  • 百度搜索的
  • Google搜索的
  • 其它搜索过来的
  • 网址输错了进来的
  • 太忙了不记得了
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • java学习网(www.javalearns.com) © 2014 版权所有 All Rights Reserved.
  • Email:javalearns@163.com 站长QQ:1356121699 晋ICP备14003680号-3
  • java学习网部分内容来自网络或网友发布,如侵犯了您利益,请发邮件至:javalearns@126.com,我们尽快处理!
  • Java学习网
  • 网站统计
  • 晋公网安备 14042902000001号