> JSON({:a => "\36-6ren">
gpt4 book ai didi

ruby - 处理 4 字节 Unicode 表情符号时 ruby​​ JSON 库中存在错误?

转载 作者:数据小太阳 更新时间:2023-10-29 07:36:51 26 4
gpt4 key购买 nike

"\360\237\230\204"是一个标准的emoji图标(U+1f604)

当我尝试在使用 JSON 的服务器端点中发送此字符时,响应被破坏了。原因如下:

>> JSON({:a => "\360\237\230\204"}.to_json)
=> {"a"=>"\357\230\204"}

如您所见,字符串的第一部分已被 JSON 库修改。

这是一个已知错误吗?是否有解决方法?或者这是某种设计使然,因为以十六进制返回的值是 f604 而不是 1f604?

谢谢!

最佳答案

ActiveRecord 和标准 JSON to_json 方法之间存在冲突。 ActiveRecord to_json 实现有一个错误。我使用此线程中指定的初始化程序解决了它:

How do you deal with the conflict between ActiveSupport::JSON and the JSON gem?

关于ruby - 处理 4 字节 Unicode 表情符号时 ruby​​ JSON 库中存在错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7775597/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com