【问题标题】:incompatible character encodings不兼容的字符编码
【发布时间】:2016-10-25 18:52:53
【问题描述】:

通常请求是这样来的

Parameters: {"utf8"=>"✓", "status_id"=>"12686"}

除此之外,来自一个客户的请求是这样的

Parameters: {"utf8"=>"\xE2??", "status_id"=>"12686"}

所以这次我收到了这个错误 “ActionView::Template::Error(不兼容的字符编码:UTF-8 和 ASCII-8BIT)”,来自客户端浏览器,所以我有点困惑,实际上发生这种情况的地方是

    <%= form_for(resource, :as => resource_name, :url => 
    session_path(resource_name), html: { class: "signup" }) do |f| %>

客户端浏览器有问题吗?在这两个陈述中,发生的最大变化是什么?

这个解决方案Ruby on Rails "invalid byte sequence in UTF-8" due to bot会解决这个问题吗?

【问题讨论】:

  • 只有一个客户出现此错误还是所有人?
  • 是的,这只发生在一个客户晚上

标签: html ruby-on-rails encoding utf-8 rack


【解决方案1】:

如果您的所有用户都没有发生这种情况,并且从您的评论来看,它似乎是晚上的一个客户,那么我不会担心。

从您的日志消息中,很明显“客户端”不支持 utf-8 编码。很可能是一些爬虫。

由于它是客户端支持,因此您无能为力。所以不用担心。

【讨论】:

  • 谢谢,在日志中它也显示这样的缓存错误:UTF-8 中的无效字节序列
  • 这会解决这个问题stackoverflow.com/questions/24648206/…吗?
  • 这可能会有所帮助,但我更愿意在我的日志中看到它们并了解它们。
猜你喜欢
  • 1970-01-01
  • 2012-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-09
  • 2015-03-28
  • 2011-07-14
相关资源
最近更新 更多