ophub / amlogic-s9xxx-armbian

Support for Armbian in Amlogic, Rockchip and Allwinner boxes. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc.
GNU General Public License v2.0
6.18k stars 1.98k forks source link

如何支持中文字符 #2549

Closed m986883511 closed 1 month ago

m986883511 commented 2 months ago

Device Information | 设备信息

Armbian Version | 系统版本

# cat /etc/os-release 
PRETTY_NAME="Armbian 22.11.0-trunk Jammy"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

我安装了中文字符,但是没有用

# locale -a
C
C.utf8
en_US.utf8
POSIX
zh_CN.utf8
zh_SG.utf8
(test) root@armbian:/root/smb/ata-WDC_WD40EJRX-89AKWY0_WD-WX72D71J52XA/mnt/code/github/python-web-ui/ccbs-ai-cd# echo $LANG
zh_CN.UTF-8
(test) root@armbian:/root/smb/ata-WDC_WD40EJRX-89AKWY0_WD-WX72D71J52XA/mnt/code/github/python-web-ui/ccbs-ai-cd# ls ~/smb/ata-WDC_WD40EJRX-89AKWY0_WD-WX72D71J52XA/music/voice/bajie/
 data.json                          '?????? ????????.wav'                '????????.wav'                     '???????????? ????.wav'
 get_data.py                        '?????? ????????.wav'                '????????.wav'                     '???????????? ?????.wav'
'? ????.wav'                        '?????? ????????.wav'                '????????.wav'       
ophub commented 2 months ago

armbian-config 安装zh-utf8

m986883511 commented 2 months ago

感谢大佬回复 我应该是都安装了,但是还是不行。

image image

root@armbian:~/smb# locale -a
C
C.utf8
en_US.utf8
POSIX
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
zh_SG.utf8
root@armbian:~/smb# echo $LANG
zh_CN.UTF-8
root@armbian:~/smb#

可以cat文件中的中文到ssh远程控制台,但是列出文件还是问号

root@armbian:~/smb# cat ~/smb/files.json
[
    "哎哎啊(害怕).wav",
    "我们三?、.wav",
    "我说老猴上了你这贼船不会回不了头吧.wav",
    "龟老弟这么多年被封在这鸟不拉屎的地方 苦了你了.wav",
。。。。。

root@armbian:~/smb# ls -alh
总计 15M
drwxr-xr-x.  2 root root    0  9月 17 10:05  .
drwx------. 12 1023 1023 4.0K  9月 17 09:48  ..
-rwxr-xr-x.  1 root root    0  9月 17 10:05 '??'
-rwxr-xr-x.  1 root root  14M  9月 16 17:57  37.flac
drwxr-xr-x.  2 root root    0  7月  7 19:37  4t
-rwxr-xr-x.  1 root root 133K  8月 24 18:41  8e3746285cd34b6baac36cdb955ba0ae.png
drwxr-xr-x.  2 root root    0  9月 16 20:48  ata-WDC_WD40EJRX-89AKWY0_WD-WX72D71J52XA
drwxr-xr-x.  2 root root    0  5月  2 21:28 'B?UP????????'
drwxr-xr-x.  2 root root    0  5月  4 20:49  Espressif

我试着用程序看看问号是不是显示问题,但不是的,无法解码,不能转为uncide编码

>>> import os
>>> ff=os.listdir()
>>> ff
['Espressif', 'B?UP????????', '4t', '???????ppt.pptx', 'google????.py', 'google.json', 'nihao.mp3', 'Richtech????????????.pdf', '??', 'files.json', '8e3746285cd34b6baac36cdb955ba0ae.png', 'ata-WDC_WD40EJRX-89AKWY0_WD-WX72D71J52XA', '?????.txt', '37.flac', 'temp.txt']
>>> ff1=ff[8]
>>> ff1
'??'
>>> chinese_string.encode(ff1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
LookupError: unknown encoding: ??
>>>

这是rocky9的控制台,虽然乱码,但是是有unicode编码的 image

ophub commented 2 months ago

你在armbian里cat查看txt,中文都正常显示了,这说明armbian里没问题,你的问题是执行python脚本的时候,python脚本输出的显示信息里的中文乱码,这个你需要根据自己的使用环境,安装python的中文字库,比如在python+flask环境下,你使用libreoffice进行doc转pdf操作,文档里的中文会乱码,你就装中文字库,如果是日语/西班牙语等你就根据自己的情况安装,例如:

# 安装中文字体库
sudo apt-get install -y fonts-wqy-zenhei  fonts-wqy-microhei  fonts-noto-cjk fonts-noto-cjk-extra fonts-noto-core

# 安装日语字体库
sudo apt-get install -y fonts-noto-cjk fonts-takao-gothic fonts-takao-mincho fonts-ipafont-mincho fonts-ipafont-gothic fonts-vlgothic

# 安装俄语、西班牙语字体库
sudo apt-get install -y fonts-noto-cjk fonts-noto-cjk-extra

# 安装德语、法语字体库
sudo apt-get install -y fonts-linuxlibertine

# 安装韩语字体库
sudo apt install fonts-nanum fonts-nanum-coding fonts-nanum-eco fonts-nanum-extra
m986883511 commented 1 month ago

找到问题了 是samba里面的文件 中文有问题。。。。

root@armbian:~# touch 你好.txt
root@armbian:~# ls
你好.txt  smb
root@armbian:~# ls smb/
'??'       4t                                     armbian_backup                            'B?UP????????'   files.json   'google????.py'  '???????ppt.pptx'            temp.txt
 37.flac   8e3746285cd34b6baac36cdb955ba0ae.png   ata-WDC_WD40EJRX-89AKWY0_WD-WX72D71J52XA   Espressif       google.json   nihao.mp3       'Richtech????????????.pdf'  '?????.txt'
root@armbian:~# cp 你好.txt smb/
root@armbian:~# l smb/
'??'*       4t/                                     你好.txt*         ata-WDC_WD40EJRX-89AKWY0_WD-WX72D71J52XA/   Espressif/    google.json*      nihao.mp3*         'Richtech????????????.pdf'*  '?????.txt'*
 37.flac*   8e3746285cd34b6baac36cdb955ba0ae.png*   armbian_backup/  'B?UP????????'/                              files.json*  'google????.py'*  '???????ppt.pptx'*   temp.txt*
root@armbian:~#