在ruby中,我有一堆用utf-8编码的字符串,例如:“hec montr\u00e9al”。
当我使用“MySQL”gem将其插入MySQL表(格式为utf8_general_ci)时,反斜杠将被删除什么给出:)你们谁知道这到底是怎么回事?
编辑:
示例字符串:

>> p mystring
"HEC Montr\\u00e9al"

在插入后的数据库中:
HEC Montru00e9al

最佳答案

这不是UTF:

'HEC Montr\u00e9al'

这是JSON编码的Unicode字符串的ASCII表示如果是UTF-8,它看起来像:
'HEC Montréal'

您没有在某个地方正确解码json输入,或者当服务器需要纯文本时,客户端代码正在发送服务器json。
首先,您需要弄清楚为什么在不期望得到json编码的字符串时会得到它们,或者弄清楚为什么没有正确解码json。然后您可以看到数据库是否损坏了您的utf-8。

10-07 15:39