文档章节

Linux下Java写文件ANSI_X3.4-1968的问题

ifeixiang
 ifeixiang
发布于 2014/10/31 17:48
字数 397
阅读 66
收藏 0

这个问题困扰了我们很久,就是在Linux下,我们通过网页执行用Java写的小工具时,发现,在终端可以正确执行,而用网页执行却不能正确执行!中文总是出现乱码。

通过输出文件的编码,发现文件的格式都是:ANSI_X3.4-1968。这很明显不对,正常的应该是UTF-8 。

一开始,我们都以为是Java编码出了错,但是,为什么终端执行正确,而网页执行却是错的呢?

很明显,能过了Apache这个中介才发生了错误。于是猛地搜这个apache jvm ANSI_X3.4-1968,找到了这篇文章 :http://stackoverflow.com/questions/4398540/unicodeencodeerror-when-saving-imagefield-containing-non-ascii-characters-in-dja

在apache启动的时候,apache的整个运行环境并没有设置为 LANG="en_US.UTF-8" ,

所以,我在apache的启动函数(/etc/init.d/httpd文件或者是/etc/init.d/apache2/envvars文件)里面加了

1 start() 
2 {
3      export LC_ALL='en_US.UTF-8' #...省略n万行原来的代码 
4 }

 

仔细想想,这个问题和我之前遇到的Git不能提交的问题有点像。因为更改了apache的默认运行用户,导致git用户无法读取自己的.config文件,所以提交不了。

同样,这样也可能是git用户无法读取自己的.bashprofile文件,所以,即使我们如何设置.bashprofile里面的编码,都无法改变apache的运行环境。

同样的做法,在系统运行的时候动态地添加这些环境变量。问题得到暂时的解决...

© 著作权归作者所有

ifeixiang
粉丝 16
博文 270
码字总数 99506
作品 0
广州
程序员
私信 提问
在 Linux 下搭建 Java 开发环境

为了便于管理,建议将所有开发工具都安装在 /opt 目录下。 1 安装 JDK 1) 下载 JDK 安装包 自行从 Oracle 官网下载 Linux 版本的 JDK 1.6.45(64 位), 下载链接:http://www.oracle.com/t...

黄勇
2013/11/15
0
4
springboot编码问题

springboot服务部署在centos6上,用java -jar启动,用FileWriter创建文件时文件名正常,此时 获取到的是utf-8. 但是注册为系统服务时,用service方式启动,文件名乱码, 获取到的是ANSI_X3.4...

ycssh
2018/11/19
69
1
java邮件主题乱码

最近客户生产环境邮件主题乱码,乱码如下=?ANSI_X3.4-1968?B?Pz8/P0lOQzA2ODQ1OD8/Pz8/Pw==?=,而且邮件类型的附件找不到,但是附件是存在的,导出doc的文件也是乱码,本机和测试环境都没有问...

WAZXG
2016/05/31
326
2
JVM基础系列第3讲:到底什么是虚拟机?

我们都知道在 Windows 系统上一个软件包装包是 exe 后缀的,而这个软件包在苹果的 Mac OSX 系统上是无法安装的。类似地,Mac OSX 系统上软件安装包则是 dmg 后缀,同样无法在 Windows 系统上...

勇哥_
02/21
0
0
JVM系列第3讲:到底什么是虚拟机?

我们都知道在 Windows 系统上一个软件包装包是 exe 后缀的,而这个软件包在苹果的 Mac OSX 系统上是无法安装的。类似地,Mac OSX 系统上软件安装包则是 dmg 后缀,同样无法在 Windows 系统上...

陈树义
2018/11/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

面试爱奇艺,竟然挂在第5轮……

今天给大家分享我曾经在爱奇艺的面试,过程还是比较有意思的,可以给大家一些参考 <br> 聊骚阶段 嗲妹妹:你好,我是爱奇艺的HR,我们正在招聘运维开发岗位,请问您最近有在看工作机会吗? ...

上海小胖
32分钟前
0
0
Jenkins系列_插件安装及报错处理

进入Jenkins之后我们可以进行插件的安装,插件管理位于以下模块: 发现上面报了一堆错误,是因为插件的依赖没有安装好,那么这一节,就先把这些错误解决掉吧。解决完成后,也就基本会使用插件...

shzwork
今天
2
0
mysql mysql的所有查询语句和聚合函数(整理一下,忘记了可以随时看看)

查询所有字段 select * from 表名; 查询自定字段 select 字段名 from 表名; 查询指定数据 select * from 表名 where 条件; 带关键字IN的查询 select * from 表名 where 条件 [not] in(元素...

edison_kwok
昨天
9
0
解决多线程并行加载缓存问题(利用guava实现)

依赖 com.google.guava:guava:20.0 import com.google.common.cache.Cache;import com.google.common.cache.CacheBuilder;import java.util.concurrent.ExecutionException;import j......

暗中观察
昨天
4
0
利用VisualVM 内存查看

准备工作,建几个测试类。等下就是要查看这几个类里面的属性 package visualvm;public class MultiObject { private String str; private int i; MultiObject(String str...

冷基
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部