当我运行我的代码:
@a = People.order('created_at DESC').limit(1).pluck(:name)它会返回给我这个:
"\xD0\x9A\xD0\xB0\xD1\x81\xD0\xBB"我读到这是UTF8的问题。为了解决这个问题,我做了:
但所有这些步骤都帮不了我。在MySQL表中,所有看起来都是正确的,这个问题与俄文字母完全相同。
有什么办法解决这个问题吗?
发布于 2015-11-20 18:51:02
"\xD0\x9A\xD0\xB0\xD1\x81\xD0\xBB"是一个ASCI-8位字符串编码。
它可能是您的控制台的问题,试图显示这段文字。Rails仍然可以在视图中正确地呈现它。如果没有,可以使用.force_encoding("UTF-8")将其转换为utf-8。
"\xD0\x9A\xD0\xB0\xD1\x81\xD0\xBB".force_encoding("UTF-8")
# => "Касл"发布于 2015-11-20 18:45:19
实际上,字符串值似乎是正确的,如果您解码它,就会有"Касл"。因此,我认为一旦您将它输出到HTML视图中,它就会工作得很好。
同时,您的控制台可能有问题。尝试在控制台中运行puts __ENCODING__,如果它不返回UTF-8,则某些内容配置错误。
https://stackoverflow.com/questions/33833331
复制相似问题