由于Yocto中的默认语言环境设置是POSIX,我得到的错误如图所示。现在我的问题是我不知道如何在Yocto中将语言环境设置更改为en_US.utf-8
答案 0 :(得分:2)
如果您使用的是 Ubuntu ,请运行以下命令:
$ sudo apt-get install locales
$ sudo dpkg-reconfigure locales
$ sudo locale-gen en_US.UTF-8
生成语言环境(这可能需要一段时间)... en_US.UTF-8 ......完成了 一代完成。
$ sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
$ export LANG=en_US.UTF-8
答案 1 :(得分:2)
我也在用yocto。尝试在python3上运行脚本时出现以下错误。
回溯(最近通话最近): ... RuntimeError:单击将中止进一步执行,因为Python 3 配置为使用ASCII作为环境的编码。任一开关 使用Python 2或向http://click.pocoo.org/python3/咨询 缓解步骤。
要解决此问题,首先我必须在您的local.conf中启用UTF-8
GLIBC_GENERATE_LOCALES = "en_GB.UTF-8 en_US.UTF-8"
然后,在目标上运行语言环境-a时,我得到类似的东西。
C
en_GB
en_US
POSIX
为了确保本地人是UTF-8,我使用了link中的c程序,并得到了类似的内容:
C ->ANSI_X3.4-1968
en_GB ->UTF-8
en_US ->UTF-8
POSIX ->ANSI_X3.4-1968
最后
export LC_ALL=en_US
export LANG=en_US
在那之后,我对当地人没有任何错误。希望对您有帮助。
答案 2 :(得分:0)
您可以使用 profile.d 并按如下方式编写配方:
DESCRIPTION = "Copy scripts to profile.d"
LICENSE = "CLOSED"
SRC_URI = "file://*"
GLIBC_GENERATE_LOCALES="en_GB.UTF-8 en_US.UTF-8"
IMAGE_LINGUAS = "en-us"
RDEPENDS_${PN} = "bash"
do_install () {
install -d ${D}/etc/profile.d
install -m755 ${WORKDIR}/lang.sh ${D}/etc/profile.d
}
你需要一个shell脚本所在的子文件夹,名字无所谓,因为这行:
SRC_URI = "file://*"
获取子文件夹的来源。
shell 脚本 lang.sh
:
#!/bin/bash
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
将 shell 脚本放在该子文件夹中,并将配方名称添加到您的图像目标 :)