postgresql - 如何在 Postgres 中将 url 编码的表情符号保存为文本(例如 "%F0%9F%98%80")? (罗尔)

标签 postgresql encoding emoji ruby-on-rails-4.1 ruby-2.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"

非常感谢!

最佳答案

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

关于postgresql - 如何在 Postgres 中将 url 编码的表情符号保存为文本(例如 "%F0%9F%98%80")? (罗尔),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31475038/

相关文章:

Java Applet - 无法将默认平台编码更改为其他一些

r - 如何将 UTF8 编码的表情符号字符转换为图像?

node.js - 未使用 TypeORM 找到连接 "default"

postgresql - 从 Postgres 迁移到 MonetDB

postgresql - 使用scala将多个数据帧插入函数中的postgres表

php - 将所有图像从 mysql 数据库 blob 提取到目录

postgresql - Chef 在 Ubuntu 14.04 上安装 readline 包失败

spring - 为什么Spring在application/json get请求上解码+(加号字符)?我该怎么办?

python - Chromedriver only supports characters in the BMP error while sending Emoji with ChromeDriver Chrome using Selenium Python to Tkinter's label() 文本框

python - 从 Python 中的字符串中删除表情符号