tomcat,jboss,weblogic乱码问题以及Java中各种乱码问题大汇总

栏目: 服务器 · 发布时间: 5年前

内容简介:设置server.xml,找到这一段<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"
  • 1. tomcat服务器乱码处理
  • 2. jboss7服务器乱码处理
  • 3. weblogic服务器乱码处理
  • 1. InputStreamReader读取utf-8文件中文乱码处理
  • 中文编码问题、编码原理

服务器编码问题

1. tomcat服务器乱码处理

设置server.xml,找到这一段

<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000" 

redirectPort="8443"   />

加上URIEncoding="utf-8" 就OK了!!!

<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"  URIEncoding="utf-8" 

redirectPort="8443"   />

2. jboss7服务器乱码处理

JBOSS7编码设置(解决中文乱码问题)

修改standalone\configuration\standalone.xml文件

在<extensions> </extensions> 节点之后插入如下配置:

<system-properties>

<property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/>

<property name="org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING" value="true"/>

</system-properties>

如果部署在 linux 系统,还需注意系统编码。在%JBOSS_HOME%/bin/standalone.conf 中配置export LANG="zh_CN.UTF-8"   或者 "en_US.UTF-8"等

3. weblogic服务器乱码处理

weblogic安装的系统是window,weblogic版本是8.1.5版本,运行weblogic服务后,查看bea\user_projects\domains\mydomain\myserver目录下

myserver.log文件(我这边建的服务是默认的服务myserver,如果你没有用默认服务,那你就到你建的server下面找),以记事本的方式打开文件,查找file.encoding等于的值,

这个默认是系统的编码,如果系统编码不适合你当前的编码,可以通过下面方式修改我们weblogic的编码。

一、首先修改启动文件startWebLogic.cmd,将编码改变

startWebLogic.cmd文件在bea\user_projects\domains\mydomain目录下,以记事本方式打开,拉到最下面有一下内容:

tomcat,jboss,weblogic乱码问题以及 <a href='https://www.codercto.com/topics/22013.html'>Java</a> 中各种乱码问题大汇总 %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy" weblogic.Server

在“%JAVA_OPTIONS%”后面添加-Dfile.encoding="UTF-8",中间要用空格但是不要换行。

二、重新启动weblogic服务

重启weblogic服务后,可以到bea\user_projects\domains\mydomain\myserver目录下查看myserver.log文件里面的file.encoding值变成了UTF-8,则证明修改成功了。

另外注意点:

weblogic.xml,加入 charset-params

在web.xml同级目录下有个weblogic.xml,没有的话可以创建

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 9.1//EN" " http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app">
	<container-descriptor>
		<prefer-web-inf-classes>false</prefer-web-inf-classes>
	   <!--提示即使weblogic即使有这个包也要优先使用下面路径的内容-->    
       <prefer-application-resources> <!-- www.sctarena.com -->  
           <resource-name>META-INF/services/javax.xml.ws.spi.Provider</resource-name>   
       </prefer-application-resources>    
       <prefer-application-packages>
            <package-name>org.apache.commons.lang.*</package-name>
            <package-name>antlr.*</package-name>
            <package-name>org.hibernate.*</package-name>
            <package-name>javax.persistence.*</package-name>    
            <package-name>org.python.core.*</package-name>    
            <package-name>com.bob.*</package-name>    
       </prefer-application-packages>
	 </container-descriptor>
	 <charset-params>
        <input-charset>
            <resource-path>/*</resource-path>
            <java-charset-name>UTF-8</java-charset-name>
        </input-charset>
    </charset-params>
	<context-root>/</context-root>
</weblogic-web-app>

Java中各种乱码问题

1. InputStreamReader读取utf-8文件中文乱码处理

读取utf-8文件文件乱码 

BufferedReader read =  new  BufferedReader( new  FileReader( new  File(filename)));  

解决办法: 

InputStreamReader isr =  new  InputStreamReader( new  FileInputStream(file),  "UTF-8" );
BufferedReader read =  new BufferedReader(isr);  

因为InputStreamReader和BufferedReader 都继承自Reader,而BufferedReader 的构造器又是Reader. 

Writer也是一样的处理 

FileOutputStream writerStream =  new FileOutputStream(filePath,  true );  

BufferedWriter oWriter =  new BufferedWriter( new OutputStreamWriter(writerStream,  "UTF-8" ));  

中文编码问题、编码原理

参考:

https://www.cnblogs.com/maohuidong/p/8044568.html

http://www.cnblogs.com/Alandre/p/3627623.html

如有疑问或同行交流欢迎加群讨论: tomcat,jboss,weblogic乱码问题以及Java中各种乱码问题大汇总 151258054


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Node.js硬实战:115个核心技巧

Node.js硬实战:115个核心技巧

【美】Alex R. Young、【美】Marc Harter / 承竹、慕陶、邱娟、达峰 / 电子工业出版社 / 2017-1 / 109.9

《Node.js 硬实战:115 个核心技巧》是一本面向实战的Node.js 开发进阶指南。作为资深专家,《Node.js 硬实战:115 个核心技巧》作者独辟蹊径,将着眼点放在Node.js 的核心模块和网络应用,通过精心组织的丰富实例,向读者充分展示了Node.js 强大的并发处理能力,读者从中可真正掌握Node 的核心基础与高级技巧。《Node.js 硬实战:115 个核心技巧》总共有三部分......一起来看看 《Node.js硬实战:115个核心技巧》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具