debian6 putty乱码 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
that5
V2EX    服务器

debian6 putty乱码

  •  
  •   that5 2011-06-03 17:31:41 +08:00 6055 次点击
    这是一个创建于 5244 天前的主题,其中的信息可能已经有所发展或是发生改变。
    机器是ramhost的vps,系统是debian6。
    我使用ssh 始终出乱码,不能显示汉字,也不能编辑有汉字的文件,都是乱码。
    google了很多相关文章都一样,没能解决问题。

    http://bbs.vpser.net/thread-3180-1-1.html
    27 条回复    1970-01-01 08:00:00 +08:00
    reus
        1
    reus  
       2011-06-03 17:59:10 +08:00
    apt-get remove locales-all
    apt-get install locales
    dpkg-reconfigure locales
    2014
        2
    2014  
       2011-06-03 18:04:13 +08:00 via Android
    下载firezilla用sftp登录,直接用本地编辑器修改文件。
    that5
        3
    that5  
    OP
       2011-06-03 19:51:50 +08:00
    @reus 正在测试你的办法
    @2014 编辑具体哪个文件?
    that5
        4
    that5  
    OP
       2011-06-03 20:02:43 +08:00
    @reus 还是不行,有中文还是乱码 不能显示
    eth2net
        5
    eth2net  
       2011-06-03 20:09:41 +08:00
    window->translation->选择UTF-8 ?
    that5
        6
    that5  
    OP
       2011-06-03 20:27:35 +08:00
    @eth2net putty设置没有问题,字体也设置成宋体了 字符也是chinese
    2014
        7
    2014  
       2011-06-03 20:43:59 +08:00
    @that5 直接编辑你想要编辑的文件呀,就像ftp客户端一样使用。上传文件等,都可以用这个客户端,可以不用ssh终端命令行,你现在不熟悉命令行可以先用图形软件替代使用呀。
    haohaolee
        8
    haohaolee  
       2011-06-03 20:52:15 +08:00
    关键putty和远程的locale要一致,运行locale看看结果是啥
    that5
        9
    that5  
    OP
       2011-06-03 21:05:26 +08:00
    @haohaolee 结果如下
    LANG=
    LC_CTYPE="POSIX"
    LC_NUMERIC="POSIX"
    LC_TIME="POSIX"
    LC_COLLATE="POSIX"
    LC_MOnETARY="POSIX"
    LC_MESSAGES="POSIX"
    LC_PAPER="POSIX"
    LC_NAME="POSIX"
    LC_ADDRESS="POSIX"
    LC_TELEPHOnE="POSIX"
    LC_MEASUREMENT="POSIX"
    LC_IDENTIFICATION="POSIX"
    LC_ALL=
    that5
        10
    that5  
    OP
       2011-06-03 21:05:55 +08:00
    @2014 喜欢ssh 好方便
    reus
        11
    reus  
       2011-06-03 21:21:27 +08:00
    …………你locale是POSIX啊
    运行dpkg-reconfigure,把zh_CN开头的都选上,然后下一步选zh_CN.UTF-8
    生成之后重启一下,然后在putty里面选utf8
    如果用,那locale里面选zh_CN.GBK或者zh_CN.GB18030或者zh_CN....
    reus
        12
    reus  
       2011-06-03 21:23:57 +08:00
    哦是zh_开头的都选上,locale那里
    其实还是utf8好啊,要是有不同语言混在一起的话,就不行啊
    2014
        13
    2014  
       2011-06-03 21:24:16 +08:00
    @that5 如果你打算在ssh终端里编辑中文,我想你还是别折腾了,目前没有ssh界面下也能用的中文输入法吧。查看中文内容倒是可以折腾一下。PS.我用ramhost一年多了。
    that5
        14
    that5  
    OP
       2011-06-03 21:42:50 +08:00 via Android
    @2014 既然你是ram用户,你可以尝试在输入vz之后就是输入自己密码帐号的时候是可以输入汉字的而且正常显示
    that5
        15
    that5  
    OP
       2011-06-03 21:48:30 +08:00 via Android
    @reus 你说的办法都试过了不行啊啊结果还是一样。难道是我修改了什么地方?很郁闷……
    2014
        16
    2014  
       2011-06-03 22:53:30 +08:00
    2014
        17
    2014  
       2011-06-03 23:28:57 +08:00
    我想我是解决了,你参考一下吧:

    entered into VE 199
    root@vps199:/# locale
    LANG=
    LC_CTYPE="POSIX"
    LC_NUMERIC="POSIX"
    LC_TIME="POSIX"
    LC_COLLATE="POSIX"
    LC_MOnETARY="POSIX"
    LC_MESSAGES="POSIX"
    LC_PAPER="POSIX"
    LC_NAME="POSIX"
    LC_ADDRESS="POSIX"
    LC_TELEPHOnE="POSIX"
    LC_MEASUREMENT="POSIX"
    LC_IDENTIFICATION="POSIX"
    LC_ALL=
    root@vps199:/# update-locale zh_CN.UTF-8 ///请忽略,我走歪路了
    *** update-locale: Error: invalid locale settings: LANG=zh_CN.UTF-8
    root@vps199:/# nano /etc/default/locale
    root@vps199:/# update-locale zh_CN.UTF-8
    root@vps199:/# date
    Fri Jun 3 22:58:29 CST 2011
    root@vps199:/# update-locale zh_CN.UTF-8
    root@vps199:/#
    root@vps199:/# dpkg-reconfigure locales
    Generating locales (this might take a while)...
    zh_CN.... done
    zh_CN.GB18030...memory exhausted
    done
    zh_CN.GBK... done
    zh_CN.UTF-8... done
    Generation complete.
    root@vps199:/# update-locale zh_CN.UTF-8
    root@vps199:/# locale
    LANG=
    LC_CTYPE="POSIX"
    LC_NUMERIC="POSIX"
    LC_TIME="POSIX"
    LC_COLLATE="POSIX"
    LC_MOnETARY="POSIX"
    LC_MESSAGES="POSIX"
    LC_PAPER="POSIX"
    LC_NAME="POSIX"
    LC_ADDRESS="POSIX"
    LC_TELEPHOnE="POSIX"
    LC_MEASUREMENT="POSIX"
    LC_IDENTIFICATION="POSIX"
    LC_ALL=
    root@vps199:/# locale -a
    C
    POSIX
    zh_CN
    zh_CN.
    zh_CN.gbk
    zh_CN.utf8
    root@vps199:/# update-locale zh_CN.utf8
    root@vps199:/# locale
    LANG=
    LC_CTYPE="POSIX"
    LC_NUMERIC="POSIX"
    LC_TIME="POSIX"
    LC_COLLATE="POSIX"
    LC_MOnETARY="POSIX"
    LC_MESSAGES="POSIX"
    LC_PAPER="POSIX"
    LC_NAME="POSIX"
    LC_ADDRESS="POSIX"
    LC_TELEPHOnE="POSIX"
    LC_MEASUREMENT="POSIX"
    LC_IDENTIFICATION="POSIX"
    LC_ALL=
    root@vps199:/# export LANG=zh_CN
    root@vps199:/# export LC_AL=zh_CN.utf-8 ///utf-8是小写的,我重试,不过还是歪路。。。LC_ALL我打成LC_AL,少个L,下面乱码就是这问题
    root@vps199:/# locale
    LANG=zh_CN
    LC_CTYPE="zh_CN"
    LC_NUMERIC="zh_CN"
    LC_TIME="zh_CN"
    LC_COLLATE="zh_CN"
    LC_MOnETARY="zh_CN"
    LC_MESSAGES="zh_CN"
    LC_PAPER="zh_CN"
    LC_NAME="zh_CN"
    LC_ADDRESS="zh_CN"
    LC_TELEPHOnE="zh_CN"
    LC_MEASUREMENT="zh_CN"
    LC_IDENTIFICATION="zh_CN"
    LC_ALL=
    root@vps199:/# date
    2011 06 03 23:06:14 CST ///貌似有点正常了吧
    root@vps199:/# export LC_ALL=zh_CN.utf-8
    root@vps199:/# date
    2011年 06月 03日 星期五 23:08:11 CST
    root@vps199:/# nano test.txt
    root@vps199:/# cat test.txt
    zhongwen 中文显示 中文输入 没问题吧
    root@vps199:/#
    2014
        18
    2014  
       2011-06-03 23:32:14 +08:00
    简单说就是:
    apt-get install locales
    dpkg-reconfigure locales //选中并安装zh_CN相关的locales
    export LC_ALL=zh_CN.utf-8 //Done. 如果用export LC_ALL=zh_CN.gbk之类的,本地输入终端编码也需要一致。
    that5
        19
    that5  
    OP
       2011-06-03 23:36:11 +08:00
    @2014 这篇相当有用,非常感谢。
    http://www.wifizoo.net/blog/?post=82
    今天上午安装了中文字体但结果也没成功,不知道哪儿没对?
    为了这个中文不乱码真的是头疼无比...
    that5
        20
    that5  
    OP
       2011-06-03 23:40:02 +08:00
    @2014 我正在按照你的方法测试,希望ok 非常兴奋
    that5
        21
    that5  
    OP
       2011-06-03 23:53:14 +08:00
    @2014

    亲爱的中文你好 测试成功 <?php
    error_reporting(0); //抑制所有错误信息
    @header("content-Type: text/html; charset="); //语言强制
    ob_start();

    define('HTTP_HOST', preg_replace('~^www\.~i', '', $_SERVER['HTTP_HOST']));

    $time_start = microtime_float();

    if ($_GET['act'] == "phpinfo"){
    phpinfo();
    exit();
    }
    that5
        22
    that5  
    OP
       2011-06-03 23:55:30 +08:00
    @2014 原来直接修改/etc/default/locale 这个文件好像是不行的 ,必须export LC_ALL=zh_CN.utf-8
    2014
        23
    2014  
       2011-06-04 00:42:32 +08:00
    @that5 嗯,我修改了文件,重启过,但是不行的。或许把locale的输出内容加到/etc/environment里面,重启试试。加export LC_ALL=zh_CN.utf-8到.bashrc文件里面也可以吧。
    haohaolee
        24
    haohaolee  
       2011-06-04 01:08:23 +08:00
    @that5 不同发行版不一样的 如果是这样 可以考虑export 到 .bash_profile 里面 如果你用bash的话
    haohaolee
        25
    haohaolee  
       2011-06-04 01:09:09 +08:00
    另外用putty是可以启动输入法的
    that5
        26
    that5  
    OP
       2011-06-04 08:57:18 +08:00
    @haohaolee 怎么启动呢
    haohaolee
        27
    haohaolee  
       2011-06-04 09:34:39 +08:00
    @that5 ...putty是windows GUI程序,直接就可以使用输入法
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2709 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 09:04 PVG 17:04 LAX 02:04 JFK 05:04
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86