• 请不要在回答技术问题时复制粘贴 AI 生成的内容
fyyz
V2EX  ›  程序员

既然 UTF-8 是能显示任意字符的,那为什么 Linux 里 locale 相关的设定里有大量的 xxx.utf8 的选项?

  •  
  •   fyyz · Dec 30, 2016 · 4121 views
    This topic created in 3446 days ago, the information mentioned may be changed or developed.

    系统是 CentOS7 。

    当我执行以下命令,输出大量的 UTF-8 的选项。为什么 UTF-8 需要指定语言?

    # locale -a | grep utf8
    aa_DJ.utf8
    aa_ER.utf8
    aa_ER.utf8@saaho
    aa_ET.utf8
    af_ZA.utf8
    am_ET.utf8
    an_ES.utf8
    ar_AE.utf8
    ar_BH.utf8
    ar_DZ.utf8
    ar_EG.utf8
    ar_IN.utf8
    ar_IQ.utf8
    ar_JO.utf8
    ar_KW.utf8
    ar_LB.utf8
    ar_LY.utf8
    ar_MA.utf8
    ...
    

    输出结果只摘录了一部分,实际上整个输出非常多,你们有 Linux 机器的也能自己去跑一下这个命令。

    但是我不知道,为什么不是只有一个 UTF-8 ,而是这么多?

    9 replies    2016-12-30 23:21:18 +08:00
    skydiver
        1
    skydiver  
       Dec 30, 2016
    UTF-8 是编码,前面是 locale
    应用程序要根据 locale 显示不同语言的信息的啊
    choury
        2
    choury  
       Dec 30, 2016
    没研究过,猜的,应该是每个只是一部分吧,毕竟 unicode 字符数量太多了
    Mdrights
        3
    Mdrights  
       Dec 30, 2016 via iPhone
    因為每個 locale 文件都只包含一個語言的編碼(?
    raysonx
        4
    raysonx  
       Dec 30, 2016
    因为多语言的程序要根据 locale 设置决定显示的语言。
    fyyz
        5
    fyyz  
    OP
       Dec 30, 2016
    @raysonx 感觉这个是正解。谢谢~
    fyyz
        6
    fyyz  
    OP
       Dec 30, 2016
    @skydiver 感谢回答,谢谢~
    congeec
        7
    congeec  
       Dec 30, 2016 via iPhone
    locale 里不仅设置语言,还有货币符号,日期格式啥的
    详情请翻手册
    wittyfox
        8
    wittyfox  
       Dec 30, 2016 via Android
    炮王
    SoloCompany
        9
    SoloCompany  
       Dec 30, 2016
    export LC_ALL=zh_CN.utf8
    ls XXX
    ls: 无法访问 XXX: 没有那个文件或目录

    export LC_ALL=en_US.utf8
    ls XXX
    ls: cannot access XXX: No such file or directory
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5639 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 01:34 · PVG 09:34 · LAX 18:34 · JFK 21:34
    ♥ Do have faith in what you're doing.