[英]rails upload csv with FasterCSV to database IN UTF8
导轨-2.3.8
红宝石-1.8.7
我确实搜索了旧问题,但一无所获。
关键是:从.csv中读取并将该信息更新到UTF8中的我的表中,但是特殊字符(如“á”,“è”,“û”)更改为“?”。
我的桌子支持所有这类字符。 这是我尝试的代码:
FasterCSV.open("public/files/some.csv", :encoding => "U") do |csv|
csv.each do |line|
Model.update_all("column1 = '#{line}'", "id= 129476")
end
end
所以行上有这个Ácido acetilsalicílico;Ácido acetilsalicílico;Não Comercializado
在我的终端上使用调试器在更新前进行检查,该行具有以下内容:
�cido acetilsalic�lico;�cido acetilsalic�lico;N�o Comercializado
并在表上保存的内容为:?cido acetilsalic?lico;?cido acetilsalic?lico; N?o Comercializado
我做了另一项测试,包括(逐行读取)文件并读取每一行写入一个新文件,在每次写入之前,我都会在终端上检查该行,并显示 cido acetilsalic lico; cido acetilsalic lico;N o Comercializado
。 但是在所有文件写完之后,当我打开新文件时,所有字符都很好地显示了!!
我需要帮助,以了解为什么在数据库中写入字符都是愚蠢的!!! xD
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.