我正在努力将url编码的表情符号保存为文本。
我使用PostgreSQL,Ruby 2.2.2,Rails 4.1.9。要编码/解码表情符号,我使用ERB :: Util模块http://ruby-doc.org/stdlib-2.2.2/libdoc/erb/rdoc/ERB/Util.html
保存此
"%F0%9F%98%80"
对此
的更改 "f09f9880"
是否与postgres列类型(文本)相关联?或者它是相当活跃的记录连接?我甚至不确定问题出在哪里,其他dbs或语言的解决方案在我的情况下似乎没有任何意义。
不是我的问题的答案,但在不同方向的一个很大的帮助是找到一种方法将unicode编码回url_encoding(所以我可以保存它解码并在使用之前再次编码)。
"f09f9880" => "%F0%9F%98%80"
非常感谢提前!
答案 0 :(得分:2)
虽然我不确定为什么Postgre不接受表情符号,但我可以建议您只将文本编码为base64。这可能不是很有效,因为字符串变得更大,但它应该解决问题。