Html Ruby编码问题
我正在将刮取的数据保存到web应用程序中,下面是一个示例参数:Html Ruby编码问题,html,ruby-on-rails,ruby,ruby-on-rails-3,encoding,Html,Ruby On Rails,Ruby,Ruby On Rails 3,Encoding,我正在将刮取的数据保存到web应用程序中,下面是一个示例参数: 400\xB0F. 这是一个网站上的“degree”字符,但是当我把它放到我的模型中时,我得到了UTF-8中可怕的无效字节序列 由于它来自web,我想我可能会尝试一些客户端编码,所以javascript将其转换为:400%B0F。这至少可以由ActiveRecord保存,没有任何问题,但Rails似乎在退出时再次逃逸,因此这些实体不会被浏览器解码,因此,我的show方法显示了整个编码字符串 我应该在哪里清理输入数据,对于不可预测的
400\xB0F.
这是一个网站上的“degree”字符,但是当我把它放到我的模型中时,我得到了UTF-8中可怕的无效字节序列
由于它来自web,我想我可能会尝试一些客户端编码,所以javascript将其转换为:400%B0F。
这至少可以由ActiveRecord保存,没有任何问题,但Rails似乎在退出时再次逃逸,因此这些实体不会被浏览器解码,因此,我的show
方法显示了整个编码字符串
我应该在哪里清理输入数据,对于不可预测的输入,什么方法可能是最好的
谢谢 也许您可以在表单标记中使用带有enctype=“multipart/form data”的二进制表单(如用于上载文件)。像这样,你可以用这个数据作为二进制数据吗
这可能取决于您如何处理这些数据。URI。在我将其编码到客户端之后,unescape
就是一个诀窍。几年前,我在builder中解决了同样的问题。看看to_xs方法:
您可以需要生成器,并直接使用它(您可能希望将false
传递给转义,否则您将获得实体转义输出)。要么这样,要么干脆窃取并改编源代码
更新:这是原始的、独立的库:
网站似乎是用CP-1252编码的。抱歉,我不知道你会如何解码这个。如果我是你,我会查找如何使用String.encode
方法在编码之间进行转换。噢,哇,Sam Ruby的回答。我是个十足的书呆子