也许你可以帮助我处理 Yaml 编码。
我们有一个应用程序,它将一些设置序列化为 Yaml 字符串存储在数据库中,例如:
---
quantity_units: Stunden,Tage, Monate, Pauschal, Jahre, GB, MB, Stück, Seite, SMS
categories: Shirts
number_schema: P-[Y4]-[CY3]
我们正在从 Ruby 1.8.7 迁移到 Ruby 1.9.3,并且 Yaml 解析库在版本之间发生了变化,给我们留下了这样的解码字符串,从 Stück
到 卡住
。
我只想知道如何正确地将这些字符串转换为 unicode,其余的由我来处理。
我不知道 1.8.7 Yaml 解析器使用哪种编码。
最佳答案
这看起来像 utf8 读取为 iso-8895-1,并解释为 utf-8 ruby 适配器。您可能想检查您当前的区域设置和 数据库服务器的区域设置。另请参阅如果您访问 直接通过控制台获取数据,并检查那里的编码。它 在数据库上看起来像 utf-8,但被解释为 iso-8859-1 介于两者之间。
如果没有什么帮助,有一个片段可以传递您的数据(并且 写回来)。
"Stück".encode('iso-8859-1').force_encoding('utf-8') # I've no idea what I'm doing.
# => "Stück"
关于ruby - Ruby 从 1.8.7 升级到 1.9.3 后出现 Yaml 编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10278537/