Linux下Java写文件ANSI_X3.4-1968的问题
来源:互联网 发布:仿真软件proteus 编辑:程序博客网 时间:2024/06/07 13:18
这个问题困扰了我们很久,就是在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的运行环境。
同样的做法,在系统运行的时候动态地添加这些环境变量。问题得到暂时的解决...
- Linux下Java写文件ANSI_X3.4-1968的问题
- 运行tmux出现tmux:need UTF-8 locale (LC_CTYPE) but have ANSI_X3.4-1968的错误
- 工程字符编码ANSI_X3.4-1968乱码错误及解决方案
- linux平台下的写文件刷新
- linux平台下的写文件刷新
- Linux Direct IO 写文件的问题
- linux 下 自己写的 html文件产生中文乱码问题 解决办法。。
- linux 下 自己写的 html文件产生中文乱码问题 解决办法
- 解决linux下写一个文件之后立马读,读出乱码或者空白的问题
- Java写xml文件的编码问题
- Linux下玩QQ(java写的)
- ubuntu 下java写txt文件,编码问题
- Linux下写日志文件
- 刚写的一个linux下查找文件的脚本
- Windows平台下写文件的回车换行问题
- linux下的内存映射文件无法写回
- 自己写的一个LINUX 下目录文件遍历程序
- linux下修改windows写文件的格式
- android开启Wifi AP
- perl获取相同匹配字符长度
- perl函数映射
- perl字符串映射函数
- 共享内存mmap
- Linux下Java写文件ANSI_X3.4-1968的问题
- Soundex语音算法
- 删除Linux乱码文件
- Perl深拷贝
- perl传递数组的问题
- Git diff hash顺序的问题
- Ojective C入门
- IOS写文件
- perl文件名过滤工具