我已使用Scala验证数据框包含使用df.show()
的非ascii UTF-8字符。 Spark-SQL还显示正确的编码。
但是,当我使用SparkR尝试showDF(df)时,UTF-8字符无法正常显示。我们如何让showDF(df)显示出来的UTF-8字符?
最初LOCALE=""
& LANG="en_US.UTF-8"
...
1)将其设置为LANG="xx_XX.UTF-8"
,其中X是适当的语言标识符
2)Sys.setlocale("LC_ALL",locale="xx_XX.UTF-8")
但是showDF()仍然没有用母语显示字符
答案 0 :(得分:2)
我明白了。
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()' -- для
或者,您可以输入错误表达式以查看提示错误的语言。