java在linux下创建文件,中文文件名为乱码
Filefile=newFile("/Qrcodedownload/"+filename);就这么一句话,filename传的是从数据库里查出的中文名称,类似图片里(见下...
File file = new File("/Qrcodedownload/"+filename); 就这么一句话,filename传的是从数据库里查出的中文名称,类似图片里(见下图)各种编码方式(gb2312,utf8,gbk)都试过了。可以确认的是跑在JVM上的编码方式是UTF8,LINUX系统默认语言是UTF8(LANG="zh_CN.UTF-8),文件一创建出来名称就是乱码。这个问题困扰好几天了,改了linux的默认语言也不好使(试过LANG="en_US.UTF-8"),有没有大神给支支招。
展开
1个回答
展开全部
JBoss4.0.5使用的是tomcat5,而tomcat的默认字符集是ISO-8859-1.找到JBoss的根目录下名 为\%JBoss4.0.5%server\default\deploy\jbossweb-tomcat55.sar的文件夹.
修改server.xml文件.
修改方法,找到<Connector port="8080"
......>默认是8080端口,在后面加入URIEcoding='UTF-8',字符集根据页面进行相应的设置,我的整个项目是使用UTF-
8字符集(包括UTF-8).
<Connector port="8080" address="${jboss.bind.address}"
maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
zip包是在windows环境下打的压缩包,通过java控制在linux环境下解压之后,解压出来的文件和文件夹中的中文文件名是乱码,请问应如何解决
修改server.xml文件.
修改方法,找到<Connector port="8080"
......>默认是8080端口,在后面加入URIEcoding='UTF-8',字符集根据页面进行相应的设置,我的整个项目是使用UTF-
8字符集(包括UTF-8).
<Connector port="8080" address="${jboss.bind.address}"
maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
zip包是在windows环境下打的压缩包,通过java控制在linux环境下解压之后,解压出来的文件和文件夹中的中文文件名是乱码,请问应如何解决
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询