2

我正在努力将 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 列类型(文本)有关吗?或者它是相当活跃的记录连接?我什至不确定问题出在哪里,其他数据库或语言的解决方案在我的情况下似乎没有任何意义。

不是我的问题的真正答案,但在不同方向上的一个很大帮助是找到一种方法将 unicode 编码回 url_encoding (所以我可以在使用之前将其保存解码并再次编码)。

     "f09f9880" => "%F0%9F%98%80"

提前谢谢了!

4

1 回答 1

2

虽然我不确定为什么 Postgre 不接受表情符号,但我可以建议您将文本简单地编码为 base64。考虑到字符串变得更大,这可能并不完全有效,但它应该可以解决问题。

于 2015-08-31T00:17:05.757 回答