Chinaunix首页 | 论坛 | 博客
  • 博客访问: 406532
  • 博文数量: 51
  • 博客积分: 2030
  • 博客等级: 大尉
  • 技术积分: 1109
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-15 08:11
文章分类

全部博文(51)

文章存档

2022年(1)

2016年(2)

2015年(1)

2014年(2)

2013年(4)

2011年(9)

2010年(2)

2009年(5)

2008年(14)

2007年(11)

我的朋友

分类: 服务器与存储

2015-03-02 20:27:02

    换了工作以后,一直比较繁忙,很少写日志了,难得今天有时间写一篇小记吧。

最近主要工作是把游戏服务端C++程序从Windows server上移植到linux server上。由于是第一次做游戏方面的工作。所以压力还是有些的。关键是我从来就不玩游戏。所以关于游戏的一切都感到比较新鲜。

经过近三个月的努力,终于把代码给移植完成了,但编码是个问题。Windows server 众所周知默认是使用gbk 编码的。在我到这个公司之前,游戏客户端和服务器端的代码都已经写好了。而且运行的还比较稳定,由于购买云服务器时,Windows系统比linux系统贵不少,所有公司决定移植服务器到linux上。当我把代码移植完成后,发现客户一进入游戏就会立刻挂掉。经过客户端兄弟现场debug发现是中文用utf8编码发送给客户端所致。如果改客户端工作量真的是太大。而且版本方面也不好维护。所以决定把linux系统的编码改成gbk。经过一天的摸索和测试终于把这个问题给解决了。现在把处理过程记录如下。

系统环境:CentOS6.5   内核版本:2.6.32-431.el6.x86_64 

1.  查看本系统是否已安装中文支持包:rpm -qa|grep Chinese 如果有如下列表则说明已经安装了中文支持包:

kde-i18n-Chinese-Big5-3.5.10-11.el6.noarch

kde-i18n-Chinese-3.5.10-11.el6.noarch

如果没有类似的列表,那么就用命令安装中文支持包: yum -y groupinstall chinese-support

2.  编辑 /etc/sysconfig/i18n 配置文件。

用 vim 打开 /etc/sysconfig/i18n 录入如下设置

LANG="zh_CN.gbk" 

LANGUAGE="zh_CN.gbk:zh_CN" 

SUPPORTED="zh_CN.gbk:zh_CN:zh" 

SYSFONT="lat0-sun16" 

SYSFONTACM="8859-15"
3.  为了让vim以后编辑带有中文的gbk编码文件不乱码,需要在vimrc里添加如下两行:

用 vim  打开 /etc/vimrc 录入如下设置

set fileencoding=utf-8

set fileencodings=utf-8,gb18030,gbk,big5

4.  保险起见,在用户shell文件.bash_profile 里设置如下两个环境变量:

   用 vim 打开 ~./.bash_profile 录入如下设置(此不可省略)

export LC_ALL="zh_CN.gbk"

export LANG="zh_CN.gbk" 

重新登陆系统,或reboot系统使配置生效。这样bgk的中文在linux就可以正确显示了。

但是当我用开源的ftp工具FileZilla 上传windows下的文件到linux系统后,发现文件名是乱码。而文件的内容可以正确显示。折腾了半天才发现原来是FileZilla 传输文件时使用的编码所导致的。FileZilla 链接linux时,默认使用的字符集是utf8。修改FileZilla 字符集:文件-->站点管理-->选中要登陆的站点-->字符集-->使用自定义的字符集 下输入gbk。再上传文件问题解决了。文件名和文件内容均可正常显示。

 

阅读(5134) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~