根据"Incorrect string value" when trying to insert UTF-8 into MySQL via JDBC?,如果我想存储包含4字节UTF-8字符的数据,mysql的列需要一个utf8mb4编码。
我使用Zlib::Deflate.deflate压缩字符串,并希望将其存储在Mysql中。
插入记录后,我得到以下信息:
ActiveRecord::StatementInvalid: Mysql2::Error: Incorrect string value: '\x96Iv$!\x0C...'因此,基本上,我要么必须更改列的编码,要么强制Zlib::Deflat.deflate只生成3字节的UTF-8字符。有办法这样做吗?
发布于 2014-04-30 08:48:46
我没有将数据存储为UTF-8字符串,而是将列类型更改为BLOB,并将数据存储为二进制。
注意self和其他人:如果要存储Zlib膨胀的数据,请确保列类型为BLOB in mysql。
https://stackoverflow.com/questions/23371771
复制相似问题