读取包含特殊字符(不同口语)的csv文件

Read a csv file containing special characters(different spoken language)

我正在用印地语(语言)编写一个 csv 文件,当我解析它时,我得到了不同的结果。

比如我制作了下面的csv文件。

1234444070;आज आप कैसे हैं???

当我使用 open(csv_aws_url).read 读取同一个文件时。我得到:

"1234444070;\xE0\xA4\x86\xE0\xA4\x9C \xE0\xA4\x86\xE0\xA4\xAA \xE0\xA4\x95\xE0\xA5\x88\xE0\xA4\xB8\xE0\xA5\x87 \xE0\xA4\xB9\xE0\xA5\x88\xE0\xA4\x82???\r\n"

会不会是我在解析的时候读取了相同的内容?

尝试open(csv_aws_url, encoding: "utf-8").read

文件很可能是用不同的编码保存的。

Ruby read CSV file as UTF-8 and/or convert ASCII-8Bit encoding to UTF-8 应该会有帮助。

open(csv_aws_url).read.force_encoding('utf-8')