| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1497 人关注过本帖
标题:请教一个问题,别忙着接分哈【已经解决,散分~】
取消只看楼主 加入收藏
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
结帖率:99.13%
收藏
已结贴  问题点数:100 回复次数:5 
请教一个问题,别忙着接分哈【已经解决,散分~】
本菜鸟在ubuntu下开发个程序,该程序已经做成守候进程了的
 程序有一部分功能是 接受一个压缩包,并把一个压缩文件解压~~

问题来了:
1 该守候进程随启动启动时候,它解压压缩包文件时候,解压出来的文件名是乱码。
2 如果该守候进程手动在终端重启过(service xyz restart,xyz 为该守候进程名),那么它解压压缩包时候,得出来的文件名倒是正确的。

为什么随系统启动的时候解包得到文件名乱码而手动restart过就就正常了?,我怀疑是本地locale 没有设置正确,不过在代码中主动设置一下 locale(LC_ALL, "");问题依然。也试过把几种en_US.utf8等都设置了一下。没有效果。

请有高手分享下经验或者建议,先谢过


==================银河系的边界============================
设置LANG 就行了
setenv("LANG", "en_US.UTF-8", 1);

随系统启动时候,那厮连LANG环境变量都没有。


[ 本帖最后由 yuccn 于 2013-9-12 11:15 编辑 ]
搜索更多相关主题的帖子: service 压缩文件 ubuntu 压缩包 
2013-09-11 17:15
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
不是unicode问题,已经定位到什么原因了,设置正确的语言就ok了

解决方法:
setenv("LANG", "en_US.UTF-8", 1);

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-09-12 11:09
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
回复 17楼 TonyDeng
主要原因是 随系统启动时候,守候进程没有LANG环境变量。

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-09-12 11:21
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
回复 20楼 TonyDeng
这个是还是知道的,呵呵~

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-09-12 12:03
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
回复 19楼 TonyDeng
可能我描述的不够清晰了

不是靠不靠本地环境的问题,也不是和对方编码是否一致问题,而是那丫 连LANG都没有。

出现的情况是 把文件解压时候,文件名编码完全乱了(不是说显示乱),所有编码都不字符都不识别了,而是固定的二进制 了。
也就是说“测试1234”,等中文字符,解压出来的文件名 固定了一个二进制,比如 0x11 0x11 0x11 0x11 1234~~~~.也就是说没有LANG的时候,非基本字符都固定为一直字符了。

其实,如果它按原来编码解码,就算显示是乱码也没有问题的,程序把这个文件解包后做一些解析事情,之后在打包回去。
没有LANG的时候,非基本字符被解析出来就是固定的二进制了,在封包回去之后出现了乱了。

加上一个LANG给它,无论显示是否正确,只要它能够源文件名正常的解析出来而不是 一个固定的二进制值。


感谢大T版的热心

[ 本帖最后由 yuccn 于 2013-9-12 12:22 编辑 ]

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-09-12 12:18
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
回复 26楼 liufashuai
呵呵

[ 本帖最后由 yuccn 于 2013-9-13 08:39 编辑 ]

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-09-13 08:20
快速回复:请教一个问题,别忙着接分哈【已经解决,散分~】
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023635 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved