2017-08-10 39 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編碼的讀/寫是否有效。