网页头部的声明应该是用 lang="zh" 还是 lang="zh-cn"?

本文探讨了HTML语言标识符(lang属性)的正确使用方法,强调了遵循BCP47标准的重要性,解释了zh、zh-CN等标识符的过时,并推荐了如zh-cmn-Hans这样的现代、精确标识符,以确保内容的国际化与本地化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 简体中文页面:html lang=zh-cmn-Hans
  2. 繁体中文页面:html lang=zh-cmn-Hant
  3. 英语页面:html lang=en

lang属性的取值应该遵循 BCP 47 - Tags for Identifying Languages。

单一的 zh 和 zh-CN 均属于废弃用法。

问题主要在于,zh 现在不是语言code了,而是macrolang,能作为语言code的是cmn(国语)、yue(粤语)、wuu(吴语)等。我通常建议写成 zh-cmn 而不是光写 cmn,主要是考虑兼容性(至少可匹配 zh),有不少软件和框架还没有据此更新。

zh-CN 的问题还在于,其实多数情况下标记的是简体中文,但是不恰当的使用了地区,这导致同样用简体中文的 zh-SG(新加坡)等无法匹配。更典型的是 zh-TW 和 zh-HK。所以其实应该使用 zh-Hans / zh-Hant 来表示简体和繁体。那么完整的写法就是 zh-cmn-Hans,表示简体中文书写的普通话/国语。一般而言没有必要加地区代码,除非要表示地区特异性,一般是词汇不一样(比如维基百科的大陆简体和新马简体)。

所以回答题主,两种都不对。

具体参详知乎文章:
https://www.zhihu.com/question/20797118

<think>嗯,用户需要解决在CentOS 7系统中,当LANG设置为zh_CN.UTF-8时,virt-manager无法正确显示中文而出现方框的问题。这看起来是字体配置或渲染的问题。 用户提供的引用信息显示系统语言环境设置是正确的,但virt-manager仍然显示方块。这说明问题可能出在应用程序层面的字体配置上。virt-manager作为Python编写的GUI工具,依赖GTK3的字体渲染机制,所以需要检查字体配置和主题设置。 考虑到用户的操作系统是CentOS 7,需要特别注意几个关键点:首先是确认中文字体包是否安装完整,特别是文泉驿等常用中文字体;其次是检查GTK3主题的字体配置,virt-manager可能没有继承系统默认字体设置;最后可能需要手动调整dconf配置来强制指定中文字体。 用户可能已经尝试过基本的环境变量设置但未奏效,所以解决方案需要更深入。应该分步骤处理:先验证字体安装情况,然后调整GTK设置,最后配置dconf数据库。特别要注意virt-manager作为root用户运行时可能读取不同的配置文件这个细节。 另外,用户提到"不是用户真正的需求",说明用户可能已经尝试过其他方法但未解决,因此需要提供更全面的解决方案,包括字体安装、GTK配置、dconf设置和图标缓存更新等环节。还要提醒用户重启virt-manager使配置生效,因为GTK设置有时需要完全重启应用才能加载。</think>在CentOS 7中解决`virt-manager`中文显示方框问题,需确保系统环境、字体和GTK配置正确。以下是完整解决方案: --- ### 一、验证系统语言环境 ```bash # 检查当前语言设置 echo $LANG locale | grep -E "LANG|LC_CTYPE" # 若未设置中文,修改配置文件 sudo localectl set-locale LANG=zh_CN.UTF-8 source /etc/profile ``` > 输出应为:`LANG=zh_CN.UTF-8` 且 `LC_CTYPE="zh_CN.UTF-8"`[^1] --- ### 二、安装中文字体包 ```bash # 安装基础中文字体 sudo yum install -y wqy-microhei-fonts wqy-zenhei-fonts # 刷新字体缓存 fc-cache -fv ``` --- ### 三、配置GTK3字体设置(关键步骤) 1. **创建/修改GTK3配置** 编辑配置文件(用户级): ```bash mkdir -p ~/.config/gtk-3.0 nano ~/.config/gtk-3.0/settings.ini ``` 添加以下内容: ```ini [Settings] gtk-font-name = "WenQuanYi Micro Hei 11" gtk-theme-name = "Adwaita" gtk-icon-theme-name = "Adwaita" ``` 2. **全局配置(可选)** 若需所有用户生效: ```bash sudo nano /etc/gtk-3.0/settings.ini ``` 添加相同配置 --- ### 四、修复dconf数据库(解决方块核心) ```bash # 安装dconf工具 sudo yum install -y dconf # 导出当前配置 dconf dump / > ~/user-dconf-backup.txt # 强制设置字体 dconf write /org/gnome/desktop/interface/font-name "'WenQuanYi Micro Hei 11'" dconf write /org/gnome/desktop/interface/document-font-name "'WenQuanYi Micro Hei 11'" ``` --- ### 五、重启服务并验证 ```bash # 关闭所有virt-manager进程 pkill -f virt-manager # 启动应用(使用新配置) virt-manager & ``` > 观察界面中文是否正常显示,若仍异常尝试**重启系统** --- ### 六、故障排查 1. **检查字体映射** ```bash fc-match :lang=zh # 预期输出:wqy-microhei.ttc "WenQuanYi Micro Hei" ``` 2. **查看GTK日志** ```bash GTK_DEBUG=interactive virt-manager 2>&1 | grep -i font ``` 3. **检查权限问题** ```bash ls -l ~/.config/gtk-3.0/settings.ini # 应属当前用户 ``` --- ### 常见问题解决 - **方块依然存在**:尝试切换其他字体如 `"Noto Sans CJK SC 11"` - **仅部分乱码**:执行 `sudo yum groupinstall "Fonts"` 安装完整字体包 - **远程连接异常**:确保SSH客户端配置支持UTF-8传输(如PuTTY设置`Window > Translation > UTF-8`)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值