我有一个声称将排序规则设置为windows-1252并将文本字段的内容存储为
的旧数据库 I’d
当它在旧版网络应用中显示时,它在浏览器中显示为I’d
。浏览器报告UTF-8的页面编码。我无法弄清楚转换是如何完成的(几乎可以肯定它不是通过即时搜索和替换)。这对我来说是个问题,因为我从遗留数据库中获取文本字段(以及许多其他类似的字段)并进入新的UTF-8数据库。新的Web应用程序将新数据库中的文本显示为
I’d
我希望将其显示为I’d
。我无法弄清楚遗留应用程序如何实现这一点(Ruby中的一些摆弄并没有向我展示影响将字符串I’d
转换为I’d
)的方法。
我把自己绑在了某处。
答案 0 :(得分:1)
这可能意味着之前的开发人员搞砸了数据插入(或者你搞砸了某个地方)。场景如下:
latin1
latin1
,然后将其存储(解释为“)”latin1
你基本上需要做同样的错误解释才能获得好的数据。现在您可能正在通过utf8
连接查询数据库,因此数据库返回 - 以UTF-8编码。您需要做的是通过latin1
连接查询并将数据解释为UTF-8。
有关所有这些内容的详细说明,请参阅Handling Unicode Front To Back In A Web App。