idea运行java项目js中文乱码如何解决

大家经常遇到乱码问题,我一般习惯性的把编码问题归结为两种:

编码层面的乱码:指的是那些需要修改项目内的代码或配置来解决的乱码问题,比如有的时候从数据库获取的数据是乱码、发送ajax请求时,获取到的数据乱码等,这种都需要进行新增或修改适当代码或配置来解决;
    非编码层面的乱码:指的是那些修改项目外在的一些东西,比如服务器编码没有设置、开发环境中没有设置编码、开发工具编码问题等原因造就的乱码;

只要是出现了乱码,从上面两个角度采用排除法,一般乱码问题都会得到解决;首先判断是否是非编码层面的乱码,如果不是在进行编码层面乱码的解决,此处暂不涉及编码层面的乱码。非编码层面的乱码解决思路大同小异,在这里抛砖引玉,给大家的思路!

异常现象:昨天在导入一份商城代码时,遇到了一个问题:页面内容能正常显示,但是凡是通过JS实现动态显示、渲染的内容都呈现乱码,如下所示,可以发现在下面大部分内容可以正常显示,但是有些地方呈现乱码:

分析问题:既然会出现这些问题,肯定有共同点,通过查看对应页面的文件发现以上所有乱码处的内容只存在于JS中,且是JS中的静态内容,其余通过JS渲染的动态内容没有乱码问题,所以应该属于JS乱码问题;

解决过程:在网上也找过很多关于JS乱码方面的文章,发现都不好使,原因在于每个解决方案肯定是基于当事人所遇到的乱码问题做出的解决方式,可能不适合于你,后来琢磨到乱码问题肯定是开发过程中某处编码没有统一的问题,那么采用最笨的方式,就是把开发工具的编码、服务器编码、项目编码都统一,问题不就可以解决了,实验证明确实如此,好了,开始设置:

一、统一服务器编码,由于这里用的是Tomcat服务器,所以以tomcat为例进行设置,在服务器中有两处需要设置:

找到tomcat的bin目录下的catalina.bat并编辑,新增-Dfile.encoding=utf-8
    找到tomcat的conf目录下的server.xml并编辑,修改你项目用到的端口所对应的Connector,比如我这边用到的是8080端口,那么修改后内容如下:

<Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" URIEncoding="utf-8" />

二、设置开发工具编码,找到IDEA的安装文件夹的bin目录,如下所示:

我这里修改的是idea64.exe.vmoptions文件,通过编辑器编辑该文件,在文件内容单独起最后一行,输入

-Dfile.encoding=utf-8

三、设置全局和项目编码,如下图所示,图中标有数字的地方都需要设置:

四、设置TOMCAT启动项目时用到的VM option,如下图所示:

五、MAVEN项目编码设置,找到pom.xml文件中的properties元素,添加如下内容:

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

经过以上五处的设置相信可以解决大部分乱码问题,好了,就这么多!!

原文地址:https://www.cnblogs.com/qianzf/p/12420206.html

时间: 2024-08-14 19:08:58

idea运行java项目js中文乱码如何解决的相关文章

页面js中文乱码怎么解决

编码规则是utf-8,如网页头中的: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 那么js文件中如果有中文输出就会出现乱码,解决此个问题有两个方法: 1.在引用javascript输出的地方加上charset="gb2312" 或 charset="big5"(假设输出的是Big5繁体字). 例: <script

IDEA2014开发Java程序以及中文乱码问题的解决

IDEA2014开发Java程序以及中文乱码问题的解决 我们知道IDEA是可以很强大的集成开发环境,不仅可以开发Web工程,还可以开发Java运行程序,但是在进行Java开发之前,我们需要对IDEA做一些配置工作.步骤如下: 下载IDEA2014下载地址,过期私聊我(http://pan.baidu.com/s/1jIfbtdW) 下载JDK64位机(http://download.oracle.com/otn-pub/java/jdk/8u77-b03/jdk-8u77-windows-x64

js url传值中文乱码之解决之道

因为js url在传值的过程中使用的是js自己默认的字符集编码规则,我们必须把它转成属于我们自己的编码规格 在websphere 中使用的是url=encodeURI(encodeURI(url)); //用了2次encodeURI 测试成功,第一次转换没有尝试, 处理方法一. js 程序代码:url=encodeURI(url);注意是整个URL 服务器端的代码:String linename = new String(request.getParameter("name").get

JSP页面调用js中文乱码

jsp中第一句:<%@ page language="java" import="java.sql.*,java.util.*,"  contentType="text/HTML;charset=gb2312" pageEncoding="gb2312"%> html中加上<meta http-equiv="Content-Type" content="text/html;cha

Java和C++通过Socket通信中文乱码的解决

理想的开发状态是我开始就是C开发,一直是C的开发,现在还是C的开发,若干年后,幸运的话,我可以成为C语言的高手或者专家…… 更实际的情况是我开始是C开发,后来变成了JAVA开发,然后又做起了VC++的开发,几年下来,发现自己几乎一无所长,成为了编程界的万金油,这种产物很重要,但是也比较尴尬. 前一段时间我用C开发了一个服务器程序,前端是VC开发的客户端. 现在我用JAVA开发了一个类似的服务器程序,前端依然是VC开发的客户端,运行时发现,中文乱码了. 先说说我的问题场景,很常见: 1 VC++客

response 返回js的alert()语句,中文乱码如何解决

response 返回js的alert()语句,中文乱码如何解决, 步骤1:在后台加上如下代码: response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8;"); 完整参考代码如下: response.setCharacterEncoding("utf-8"); response.setContentType("tex

java socket输入输出中文乱码问题

http://hi.baidu.com/linjk03/item/e2028bfd990c14ea1a111feb 统一了输入输出的编码格式,是不会有乱码问题出现的. 构造Reader或Writer时,指定编码格式. in = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8")); out = new BufferedWriter(new OutputStreamWriter(socket.

Linux系统运行Java项目

写个今天学习的总结吧,留个记录方便查阅 - 2016-8-17 17:51:03 工具是eclipse,目的是在Linux系统中运行Java的main方法 网上学习了下,有两种方法来实现: 一.导成jar包运行:(test.jar) 1.在eclipse中,右键选择export->jar File ->next下去要注意3点: 1).第三方依赖包不要导出到jar包中,取消勾选 2).是选择你要导出的路径和jar包文件名 3).记得要选则Main class ->finish 2.接着打开

JAVA下载文件中文乱码问题

http://blog.itpub.net/92037/viewspace-788900/ 最后的中文乱码没有解决 现在我在系统中用到了两个组件,smartupload,一个支持中文,一个不支持.但是上传的时候乱码