我尝试用postgresql数据库在Rails应用程序中导入一个SQL文件,但是当我运行ActiveRecord::Base.connection.execute(IO.read("tmp/FILE.SQL"))时
我得到了一个错误(PG::CharacterNotInRepertoire: ERROR: invalid byte sequence for encoding "UTF8": 0x80
当我使用0x80命令检查这个Non-ISO extended-ASCII text, with very long lines (334), with CRLF line terminators时,我在这里找不到答案
我无法更改sql文件,因为它是来自客户端的,因此如果文件中的问题发生,那么不导入的文件解析就可以成为另一种解决方案
发布于 2022-08-02 14:37:49
您的数据中是否有欧元符号?字符0x80在Win-1252字符集中是欧元。如果这是正在发生的事情,那么尝试这种转换为UTF-8的方法:
ActiveRecord::Base.connection.execute(File.read('tmp/FILE.SQL', encoding: 'cp1252').encode('utf-8'))https://stackoverflow.com/questions/73186597
复制相似问题