2017-08-10 34 views
1

我有包含一些中文数据的数据文件。我无法正确读取/写入数据。我在阅读和写作时使用了Encoding/Charset选项,但没有运气。在读取和写入csv文件时,我必须设置编码/字符集选项。Scala中的编码选项

我曾尝试以下两种选择:

.option("encoding", "utf-16") 

.option("charset","UTF-16") 

应该如何编码设置?

+0

你得到了什么样的错误。请更新 –

+0

没有错误,我没有得到所需的中国数据输出。无法正确读取/写入数据。我们得到了多种语言数据Japnese,Chainese等这就是为什么我要设置编码选项为“UTF-16” –

+0

您的设置编码方式是正确的,两种方式应该工作。它适用于其他语言(除中文以外)吗?您需要确保文件本身的编码是'UTF-16',请参阅下面的答案。 – Shaido

回答

1

我之前用Scala读过中文文件时遇到了一些麻烦,尽管不是用Spark平台。你确定使用的编码是UTF-16?您可以用记事本或同等文件打开文件进行检查。在我的情况下,我终于成功读取了GB2312编码的文件。

如果它不起作用,我会建议尝试使用纯粹的Scala或Java应用程序(无Spark)来查看UTF-16编码的读/写是否有效。