V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
station
V2EX  ›  Linux

debian tty 字符乱码如何解决

  •  
  •   station · 2020-02-26 09:43:43 +08:00 · 7887 次点击
    这是一个创建于 1731 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近换了 debian, 以前一直 fedora ( 没有这种问题 )

    zh-cn_UTF8

    3Nmep9.png

    26 条回复    2020-03-21 19:59:09 +08:00
    iyezi
        1
    iyezi  
       2020-02-26 09:49:01 +08:00
    想显示中文可以上 fbterm
    station
        2
    station  
    OP
       2020-02-26 10:54:05 +08:00
    @iyezi 无需中文,显示英文即可( fedora 同样是 zh-ch.UTF8 的情况,tty 显示英文 )。桌面环境有时候需要用下 tty
    zhangpeter
        3
    zhangpeter  
       2020-02-26 11:02:38 +08:00
    1. 先确定是否是终端编码问题,比如 xshell,putty 编码问题

    2.linux 桌面端编码问题可以参考这篇博客设置编码: https://zhang0peter.com/2020/02/18/linux-chinese-utf-8/
    ysc3839
        4
    ysc3839  
       2020-02-26 12:56:56 +08:00 via Android
    这不是乱码,是因为 Linux 的 console 不支持中文,所以会显示为这种符号。
    Cu635
        5
    Cu635  
       2020-02-26 13:03:43 +08:00
    换成纯英文的环境。
    Owenjia
        6
    Owenjia  
       2020-02-26 14:20:07 +08:00
    Fedora 我记得 bashrc 里有一段根据不同 $TERM 来切换 locale 的,不清楚现在还是不是这样。
    另外几年前有个 cjktty 的 patch 可以在 tty 中显示中文的,也不知道还有没有人维护。
    wsy2220
        7
    wsy2220  
       2020-02-26 14:21:40 +08:00
    console 不支持中文
    julyclyde
        8
    julyclyde  
       2020-02-26 15:10:02 +08:00
    @Owenjia 这一定是幻觉
    ipwx
        9
    ipwx  
       2020-02-26 15:12:17 +08:00
    X 下面不可能这样啊。你看看是不是 language-pack-zh-hans 没装。
    zjsxwc
        10
    zjsxwc  
       2020-02-26 15:18:04 +08:00
    export LC_ALL=zh_CN.utf-8
    momocraft
        11
    momocraft  
       2020-02-26 15:19:27 +08:00
    有没有 locale-gen
    Owenjia
        12
    Owenjia  
       2020-02-26 16:43:54 +08:00
    @julyclyde
    幻觉?你是指?
    自动切换 locale 这点我手边暂时没有镜像可以来确认,不过 CJKTTY patch 是可以通过搜索 gentoo-zh/linux-cjktty 找到的。
    atzlinux
        13
    atzlinux  
       2020-02-26 19:09:50 +08:00
    Debian 下有个中文终端 zhcon

    apt install zhcon

    安装下。

    接下来生成 GBK locale。

    dpkg-reconfigure locales

    选择 zh_CN. 开头的 locale

    然后运行 zhcon 命令进入,就可以看到中文了。
    imn1
        14
    imn1  
       2020-02-26 19:55:41 +08:00
    我没遇到,因为用 en_US.utf-8
    但说一个你参考,debian kde 5 plasma,安装时选了 en_US.utf-8,然后 system setting 里面,添加 support 语言,添加了 zh_cn.Utf-8 和日韩 utf8,apt update 后面的提示神奇地显示了中文(安装系统时有添加中文字体),去掉 zh_cn 变成了日文,全部去掉,就恢复了全英文

    我觉得你是缺字体
    station
        15
    station  
    OP
       2020-02-26 21:18:33 +08:00
    @wsy2220 嗯,我知道 console 不支持中文, 只因为 fedora 下没有这个问题,我搜索了一番没有找到原因
    care
        16
    care  
       2020-02-26 22:46:43 +08:00 via iPhone
    借楼问下,linux 开启 samba 共享,windows 访问 samba 共享文件夹,中文文件名显示乱码。如果中文文件是从 windows 拷贝进去的话是正常的,如果是从 xshell 通过 ssh 连接到 linux,然后新建中文字符的文件名,通过 windows 查看就是乱码
    autoxbc
        17
    autoxbc  
       2020-02-26 23:05:10 +08:00
    已经有图形环境,装个终端仿真器最省事

    非要用 tty 的话,fbterm 最省事,效果特别好
    atzlinux
        18
    atzlinux  
       2020-02-27 02:15:36 +08:00
    @autoxbc 刚在 Debian 命令试了下,中文是可看了,但是中文输入法还是有问题,不能够输入中文。
    2exploring
        19
    2exploring  
       2020-02-27 09:58:15 +08:00
    我怀疑你分不清 tty、ternimal,你在说什么我都不知道。楼上有以为是 tty 的,也有以为是 terminal 的。
    gowa
        20
    gowa  
       2020-02-27 10:52:59 +08:00 via Android
    没有 locale 命令 看一下?
    station
        21
    station  
    OP
       2020-02-27 12:16:46 +08:00
    @2exploring 截图是 tty 界面
    2exploring
        22
    2exploring  
       2020-02-27 12:28:48 +08:00
    @station 看来你是真的分不清啊,很明显你这不是在实体机上的 Debian,我估计楼上答 fbterm、zhcon 什么的都答歪了。
    我也就不猜了。需要你详细描述一下你的问题。你的 Debian 在什么载体上?什么方式安装的?你截图里 Debian 外面那个窗口是什么软件的窗口?

    另外,十楼给的方法你尝试了吗?我觉得那个 80% 已经解决了你的问题了。
    fokia
        23
    fokia  
       2020-02-27 19:06:59 +08:00
    你可以在只有进入图形界面的时候再设置 zh-ch.UTF8,默认用 en_US, 比如在 .xprofile 里设置
    yougg
        24
    yougg  
       2020-02-27 22:07:32 +08:00 via Android
    tty 下执行下面命令就可以了
    export LC_ALL=C LANG=C
    404error
        25
    404error  
       2020-03-21 19:54:47 +08:00
    HypeV 上的 debian 虚拟机不装 gui,就是您这种情况,可以用 apt install -y fbterm ; fbterm 来解决。
    或者改成英文,输 export LC_ALL=C
    你在 2 楼提到了桌面环境,那。。。那可能是因为你没装中文字体吧?或者是桌面终端的字体没设置对 ,你可以输 apt install -y fonts-noto-cjk 试试。
    404error
        26
    404error  
       2020-03-21 19:59:09 +08:00
    尴尬了,上面打错了,Hype 应改为 Hyper😱
    补充一些东西:
    apt update
    apt install -y locales
    sed -i 's/# zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/' /etc/locale.gen
    cat >/etc/default/locale <<-'EOF'
    LANG="zh_CN.UTF-8"
    LANGUAGE="zh_CN:zh"
    EOF
    locale-gen
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3364 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 04:59 · PVG 12:59 · LAX 20:59 · JFK 23:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.