我已经使用Scala验证了数据帧包含使用df.show()
的非ascii UTF-8字符。Spark SQL还显示了正确的编码。
但是,当我尝试使用SparkR显示df(df)时,UTF-8字符无法正确显示。我们如何让showDF(df)显示UTF-8字符?
最初CCD_ 2&LANG="en_US.UTF-8"
。。。
1) 将其设置为LANG="xx_XX.UTF-8"
,其中X是适当的语言标识符
2) Sys.setlocale("LC_ALL",locale="xx_XX.UTF-8")
但是showDF()仍然没有显示本地语言中的字符
我想明白了。
1) 运行locale -a
以了解在您的系统上生成了哪些区域设置
C
C.UTF-8
POSIX
en_US.utf8
表示ASCII字符编码和英语UTF-8可用。
2) 为您的语言生成所需的区域设置。为了了解操作系统的语言环境,您需要搜索i18n支持的语言/编码列表(对于Ubuntu,它位于/usr/share/i18n/SUPPORTED
)
找到编码后,运行sudo locale-gen ru_RU.UTF-8
3) 然后可以设置LANG
环境变量。对于bash,export LANG="ru_RU"
4) 从您的终端运行R
,您应该会看到目标语言的提示。
R version 3.1.1 (2014-07-10) -- "Sock it to Me"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R -- это свободное ПО, и оно поставляется безо всяких гарантий.
Вы вольны распространять его при соблюдении некоторых условий.
Введите 'license()' для получения более подробной информации.
R -- это проект, в котором сотрудничает множество разработчиков.
Введите 'contributors()' для получения дополнительной информации и
'citation()' для ознакомления с правилами упоминания R и его пакетов
в публикациях.
Введите 'demo()' для запуска демонстрационных программ, 'help()' -- для
或者,您可以输入一个错误表达式来查看提示错误的语言。