新足迹

 找回密码
 注册

精华好帖回顾

· 07/08赛季总结之皇马球员分析 (2008-5-5) joaquin · 小儿女记事系列14-教我如何不爱她(小花朵的故事,近2岁到2岁半) (2009-11-17) 清凉
· 〖毛家每日私房菜〗 No.70 → 三做豆腐脑/花 (2006-10-16) powermao · 参赛-小年夜费劲巴拉做的:牙签牛肉 + 酸菜肥牛汤 (2007-2-20) 美讶
Advertisement
Advertisement
查看: 1594|回复: 11

请问IT大神关于locale和encoding的问题 [复制链接]

发表于 2019-7-24 10:45 来自手机 |显示全部楼层
此文章由 皮皮9 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 皮皮9 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 皮皮9 于 2019-7-24 13:10 编辑

因为单位的系统native encoding是ISO8859-1,所有的locale默认是Australia,接受到文件中的特殊符号例如中文字解码后就会出现错码。

请问为什么在文件浏览器里面可正确识别中文,但在powershell和其他程序里面不能。设置非Unicode语言为中文也没用。是不是必须把native encoding改成utf8才行? 改的了吗?
此心安处,便是吾乡
Advertisement
Advertisement

发表于 2019-7-24 13:01 |显示全部楼层
此文章由 solone1020 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 solone1020 所有!转贴必须注明作者、出处和本声明,并保持内容完整
因为powershell和你的其它程序并不是unicode aware
要么改进程序,要么把locale改成CHS

评分

参与人数 1积分 +3 收起 理由
皮皮9 + 3 感谢分享

查看全部评分

发表于 2019-7-24 13:21 来自手机 |显示全部楼层
此文章由 皮皮9 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 皮皮9 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Locale 改了也没有用,改完了发现是cp936

发表于 2019-7-24 13:52 |显示全部楼层
此文章由 solone1020 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 solone1020 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你是从intl.cpl里改的吗?改完需要重启。
忘掉chcp都多老的东西了。

评分

参与人数 1积分 +3 收起 理由
皮皮9 + 3 感谢分享

查看全部评分

发表于 2019-7-24 14:09 来自手机 |显示全部楼层
此文章由 皮皮9 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 皮皮9 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 皮皮9 于 2019-7-24 13:12 编辑
solone1020 发表于 2019-7-24 12:52
你是从intl.cpl里改的吗?改完需要重启。
忘掉chcp都多老的东西了。


是从一个client application里面改的,估计没用。我没admin账号改,不想打到IT的服务台浪费时间。看来这事情我们IT部门也解决不了。
此心安处,便是吾乡

发表于 2019-7-27 16:36 来自手机 |显示全部楼层
此文章由 皮皮9 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 皮皮9 所有!转贴必须注明作者、出处和本声明,并保持内容完整
不是IT成群吗
Advertisement
Advertisement

发表于 2019-7-28 22:44 |显示全部楼层
此文章由 cciecl 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cciecl 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 cciecl 于 2019-7-28 21:56 编辑

第一,拉丁字符是单字节字符,中文一般是双字节字符。
第二,ISO8859-1应该是不支持中文的,应该是支持单字节字符的。
第三,浏览器里可能会内置支持中文的字符集,主要是浏览器设置是默认支持双字节字符的,包括中文。
第四,单字节字符集应该是双字节字符集的一部分。
第五,你的应用设置应该设置为支持中文字符,如果不是的话,应用会使用默认的系统设置。

时间太长,能想起的也就这些。不足的,有大牛来指正和补充。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1积分 +5 收起 理由
皮皮9 + 5 感谢分享

查看全部评分

发表于 2019-7-28 23:02 |显示全部楼层
此文章由 cciecl 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cciecl 所有!转贴必须注明作者、出处和本声明,并保持内容完整
cciecl 发表于 2019-7-28 21:44
第一,拉丁字符是单字节字符,中文一般是双字节字符。
第二,ISO8859-1应该是不支持中文的,应该是支持单字 ...

看看这个。

https://blog.csdn.net/weixin_43426860/article/details/83348284

发表于 2019-7-28 23:14 |显示全部楼层
此文章由 Bomsori 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Bomsori 所有!转贴必须注明作者、出处和本声明,并保持内容完整
弱弱問一下為何CCIE能夠這麼厲害,連powershell也都會?!

发表于 2019-7-29 08:48 来自手机 |显示全部楼层
此文章由 gifox 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 gifox 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Bomsori 发表于 2019-7-28 22:14
弱弱問一下為何CCIE能夠這麼厲害,連powershell也都會?!

PS 现在几乎搞什么都要啊

从系统网路到开发

发表于 2019-7-29 11:15 来自手机 |显示全部楼层
此文章由 皮皮9 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 皮皮9 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 皮皮9 于 2019-7-29 12:16 编辑
cciecl 发表于 2019-7-28 21:44
第一,拉丁字符是单字节字符,中文一般是双字节字符。
第二,ISO8859-1应该是不支持中文的,应该是支持单字 ...


我把本地电脑的region改为中国之后,用你的code检查locale,发现还是Australia。

另外locale只是代表地区语言,真正起作用的是默认编码是否是多字节的。

此心安处,便是吾乡
Advertisement
Advertisement

发表于 2019-7-29 21:23 |显示全部楼层
此文章由 cciecl 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cciecl 所有!转贴必须注明作者、出处和本声明,并保持内容完整
皮皮9 发表于 2019-7-29 10:15
我把本地电脑的region改为中国之后,用你的code检查locale,发现还是Australia。

另外locale只是代表地 ...

如你所说,有时候ccsid比更改语言更有效。

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部