我有一个UTF-8的字符串(根据.encoding.name& .valid_encoding?)并且其中有一个转义的unicode字符(\ u009A)
“·哈马舍尔德\ u009Ald”
这应该打印成“Hammarskjšld”,但它只是删除了字形。 EG:
puts "Hammarskj\u009Ald"
p "Hammarskj\u009Ald"
案文结果:
Hammarskjld
"Hammarskj\u009Ald"
它(如果我保存数据库中的数据)也会在保存时丢弃它。我已经搜索了一段时间,但我无法弄清楚如何解开它(这是我认为我需要做的事情)。很多信息都是1.8.7,而1.9.2的一些东西并不是我需要的。
任何人都知道如何做我想做的事情?我似乎有一个有效的UTF-8字符串,我想要做的就是保存在数据库中(完整),但它总是丢弃转义的unicode。
答案 0 :(得分:0)
你确定它已被删除,而不仅仅是没有显示?也许这只是你的字体在该代码点中具有不显示的零宽度字符的问题。
当您将其从数据库中取出并p
'ed或inspect
时,如果您看到转义的字符,则表示它在那里,而不是丢弃。这是你打印出来的问题。