V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
station
V2EX  ›  Linux

debian tty 字符乱码如何解决

  •  
  •   station · Feb 26, 2020 · 9065 views
    This topic created in 2252 days ago, the information mentioned may be changed or developed.

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

    zh-cn_UTF8

    3Nmep9.png

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

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

    apt install zhcon

    安装下。

    接下来生成 GBK locale。

    dpkg-reconfigure locales

    选择 zh_CN. 开头的 locale

    然后运行 zhcon 命令进入,就可以看到中文了。
    imn1
        14
    imn1  
       Feb 26, 2020
    我没遇到,因为用 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
       Feb 26, 2020
    @wsy2220 嗯,我知道 console 不支持中文, 只因为 fedora 下没有这个问题,我搜索了一番没有找到原因
    care
        16
    care  
       Feb 26, 2020 via iPhone
    借楼问下,linux 开启 samba 共享,windows 访问 samba 共享文件夹,中文文件名显示乱码。如果中文文件是从 windows 拷贝进去的话是正常的,如果是从 xshell 通过 ssh 连接到 linux,然后新建中文字符的文件名,通过 windows 查看就是乱码
    autoxbc
        17
    autoxbc  
       Feb 26, 2020
    已经有图形环境,装个终端仿真器最省事

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

    另外,十楼给的方法你尝试了吗?我觉得那个 80% 已经解决了你的问题了。
    fokia
        23
    fokia  
       Feb 27, 2020
    你可以在只有进入图形界面的时候再设置 zh-ch.UTF8,默认用 en_US, 比如在 .xprofile 里设置
    yougg
        24
    yougg  
       Feb 27, 2020 via Android
    tty 下执行下面命令就可以了
    export LC_ALL=C LANG=C
    404error
        25
    404error  
       Mar 21, 2020
    HypeV 上的 debian 虚拟机不装 gui,就是您这种情况,可以用 apt install -y fbterm ; fbterm 来解决。
    或者改成英文,输 export LC_ALL=C
    你在 2 楼提到了桌面环境,那。。。那可能是因为你没装中文字体吧?或者是桌面终端的字体没设置对 ,你可以输 apt install -y fonts-noto-cjk 试试。
    404error
        26
    404error  
       Mar 21, 2020
    尴尬了,上面打错了,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
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5902 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 03:34 · PVG 11:34 · LAX 20:34 · JFK 23:34
    ♥ Do have faith in what you're doing.