新手问题 Rails 上传文件,编码问题

selenium · June 26, 2019 · Last by jasl replied at June 26, 2019 · 1358 hits

控制器里面 我用 params[:file].read 取到了文件内容的字符串,文件是 CSV 的文本文件 "\xE5\xA7\x93\xE5\x90\x8D,\xE8\xB4\xA6\xE5\x8F\xB7\xEF\xBC\x88\xE5\x8F\xAF\xE4\xBB\xA5\xE4\xB8\xBA\xE7\xA9\xBA\xEF\xBC\x8C\xE4\xB8\xBA\xE7\xA9\xBA\xE6\x97\xB6\xEF\xBC\x8C\xE7\xB3\xBB\xE7\xBB\x9F\xE6\xA0\xB9\x……

这是什么编码,怎么可以转换成对应的汉字

CSV 其实是纯文本,没有地方记录本身的编码。Windows 用户的默认编码可能是 GBK,试试 params[:file].read.encoding('UTF-8', 'GBK')

看到了一篇文章,讲解了处理 CSV 的几种方式,非常 nice,楼主可以试试 https://ruby-china.org/topics/31444

CSV 俩坑,都跟 Win 或者 Excel 有关,一个是 UTF8 with BOM,另一个是 非 UTF8 编码

You need to Sign in before reply, if you don't have an account, please Sign up first.