如何修改系统编码为GBK
Tofloor
poster avatar
treenewbee
deepin
2017-10-16 00:31
Author
手里在维护一个很大的老项目,代码是GBK编码,麻烦问下deepin下如何设置为GBK编码,我通过vi /etc/profile
export LC_ALL="zh_CN.GBK"
export LANG="zh_CN.GBK"
系统提示bash: warning: setlocale: LC_ALL: cannot change locale (zh_CN.GBK)
然后也无法输入中文了

Reply Favorite View the author
All Replies
avatar
woodelf
deepin
2017-10-16 00:47
#1
先看看gbk是否已经支持:
  1. $ locale -a
Copy the Code

不支持的话需要重新配置下,加入gbk支持:
  1. $ sudo dpkg-reconfigure locales
Copy the Code

最后再用localectl工具配置locale,没有必要手动改配置文件。
不过Linux的程序一般都按照Unicode编码来开发,改了可能会出问题。







    来自:Mozilla/5.0 (X11; Linux x86_64; rv:56.0) Gecko/20100101 Firefox/56.0  (zh-CN)
    ——2017/10/15 下午4:47:50
    Reply View the author
    avatar
    duanyao
    deepin
    2017-10-16 01:13
    #2
    什么语言的源码?C/C++的话,改 locale 未必有用,应该使用 gcc 的 -finput-charset 选项:
    http://www.cnblogs.com/guobbs/p/3654317.html
    https://stackoverflow.com/questi ... oding-for-string-li
    其它语言、编译器一般也都有指定源码字符编码的选项。
    另一个一劳永逸的办法是把源码统统转换为UTF-8格式。

    不建议在 linux 上使用非 UTF-8 编码的 locale,因为这会让磁盘上的文件名编码也跟着变化,最后变成一锅粥。
    Reply View the author
    avatar
    treenewbee
    deepin
    2017-10-16 01:20
    #3
    https://bbs.deepin.org/post/146748
    先看看gbk是否已经支持:

    不支持的话需要重新配置下,加入gbk支持:

    非常感谢
    Reply View the author
    avatar
    treenewbee
    deepin
    2017-10-16 01:24
    #4
    https://bbs.deepin.org/post/146748
    什么语言的源码?C/C++的话,改 locale 未必有用,应该使用 gcc 的 -finput-charset 选项:
    http://www.cnb ...

    java的源码,是一个很大的java web项目(工作流 OA项目)当时在windows下开发的,源码的编码都是GBK,源代码非常多。4万多个类文件。麻烦问下有没有什么好办法处理?
    Reply View the author
    avatar
    duanyao
    deepin
    2017-10-16 01:29
    #5
    https://bbs.deepin.org/post/146748
    java的源码,是一个很大的java web项目(工作流 OA项目)当时在windows下开发的,源码的编码都是GBK,源 ...

    javac 有 -encoding <编码> 选项指定源码字符编码。如果是用其它构建工具,应该也有对应的选项。
    Reply View the author
    avatar
    jhkwei
    deepin
    2017-10-16 02:25
    #6
    这个我一般写个脚本,用 conv 改一下,不过一般项目中大部分文件会转成功,也有个别文件转不成功
    Reply View the author
    avatar
    treenewbee
    deepin
    2017-10-16 04:33
    #7
    https://bbs.deepin.org/post/146748
    这个我一般写个脚本,用 conv 改一下,不过一般项目中大部分文件会转成功,也有个别文件转不成功 ...

    我也想全部转换成UTF-8编码,但是项目组其他同事都在window下开发,生产环境和测试环境都是GBK编码的Redhat。。。。。。。。。。。好无奈。。。。。。。。
    Reply View the author
    avatar
    duanyao
    deepin
    2017-10-16 06:46
    #8
    https://bbs.deepin.org/post/146748
    我也想全部转换成UTF-8编码,但是项目组其他同事都在window下开发,生产环境和测试环境都是GBK编码的Redh ...

    技术上没什么问题,Windows上的Java开发工具也都是支持UTF-8的。关键是这个转换得统一实施,得你们领导支持。
    Reply View the author
    avatar
    134******40
    deepin
    2017-10-16 07:03
    #9
    如果是eclipse开发,指定项目编码为gbk即可。项目右键属性编码即可
    Reply View the author
    avatar
    134******40
    deepin
    2017-10-16 07:04
    #10
    不需要修改系统编码,其他诸如NetBeans和idea也是这么设置。
    Reply View the author