Tag: 编码

神秘的铁轨错误几乎没有任何痕迹

我们遇到一个爬虫的奇怪问题。 有时它会在某些请求上抛出Rails FATAL错误,但跟踪非常有限并且看起来像这样 [2014-07-01 18:16:37] FATAL Rails : ArgumentError (invalid %-encoding (c ^ FK+ 9u$_ t Kl ΥE! =k \ ̕* ߚ>c+ CR! 2 D (5 xq#!` 4 p |8 IE :+ H^9`^ # Vo{ > =[z )): lib/locale_middleware.rb:14:in `call’ 爬虫用户代理是 Mozilla/5.0 (compatible; EasouSpider; +http://www.easou.com/search/spider.html) 我们可以要求它停止通过robots.txt抓取我们,但是如果可能的话,最好处理根本原因并且不会因为这些请求而失败500。 我们也无法真正重现这种请求,因此任何有关如何生成类似请求的建议都会有很大帮助。 我们在Ubuntu 12.04上使用Rails 3.2.19,Unicorn。 这是我们的locale_middleware.rb

carrierwave upload Encoding :: UndefinedConversionError:“\ xFF”,从ASCII-8BIT到UTF-8

生产中出现此错误但无法确定问题所在。 相同的请求适用于本地开发。 但生产失败了。 我正在为移动客户端使用构建API 错误跟踪 “` Encoding::UndefinedConversionError: “\xFF” from ASCII-8BIT to UTF-8 … 39 non-project frames File”/home/deploy/.bundler/example/ruby/2.0.0/gems/activesupport4.1.0/lib/active_support/core_ext/object/json.rb” line 34 in encode File”/home/deploy/.bundler/example/ruby/2.0.0/gems/activesupport4.1.0/lib/active_support/core_ext/object/json.rb” line 34 in to_json File”/home/deploy/.bundler/example/ruby/2.0.0/gems/activesupport4.1.0/lib/active_support/core_ext/object/json.rb” line 34 in to_json_with_active_support_encoder File”/home/deploy/.bundler/example/ruby/2.0.0/gems/activesupport4.1.0/lib/active_support/json/encoding.rb” line 56 in to_json File “/home/deploy/.bundler/example/ruby/2.0.0/gems/json-1.8.1/lib/json/common.rb” line 223 in generate File “/home/deploy/.bundler/example/ruby/2.0.0/gems/json-1.8.1/lib/json/common.rb” line 223 in generate File”/home/deploy/.bundler/example/ruby/2.0.0/gems/activesupport4.1.0/lib/active_support/json/encoding.rb” line 96 in stringify File “/home/deploy/.bundler/example/ruby/2.0.0/gems/activesupport4.1.0/lib/active_support/json/encoding.rb” […]

ActiveRecord在Heroku上错误地加载二进制字段,在OSX上很好

我有一个rails 3.1应用程序,它将图像存储在postgresql数据库的二进制字段中(我知道在数据库中存储图像的潜在问题,但现在必须这样做)。 在开发模式和OSX上的规格本地一切都很好,但所有图像都在部署到Heroku的应用程序中被破坏。 我已经通过将本地计算机指向heroku实例使用的同一数据库并且所有图像都正确显示来validation数据库中的数据是否正确。 所以,问题似乎在于ActiveRecord(在Heroku上运行)从数据库加载数据。 我也猜测这是一个编码问题。 在本地运行rails控制台我可以validation这些字段的字节大小是否正确,但在Heroku上运行rails控制台显示的字节大小不正确。 实际上,在Heroku上通过ActiveRecord加载N字节文件会导致所有文件的字节大小为2N + 1。 任何帮助是极大的赞赏。

Rails上的UTF8 MySQL问题 – 使用utf8_general_ci编码问题

我有一个在MySQL 5.0.32-Debian上运行的升级Rails站点。 在这个特定的网站上,我的所有表都使用utf8 / utf8_general_ci编码。 在该数据库中,我有一些看起来像这样的数据: mysql> select * from currency_types limit 1,10; +——+—————–+———+ | code | name | symbol | +——+—————–+———+ | CAD | Canadian Dollar | $ | | CNY | Chinese Yuan | å…ƒ | | EUR | Euro | € | | GBP | Pound | £ | | INR | […]

使用Ruby(IRB)打印CP850编码的字符串

我想打开一个包含阿拉伯语文本的文本文件(test.txt)(其编码为CP850),然后将其内容打印到STDOUT: # coding : CP850 STDOUT.set_encoding(Encoding::CP850); # not sure if it’s necessary open(‘G:/test.txt’,?r){|f| f.read.each_char{|c| print c}; # or puts f.read; } gets 但它不打印阿拉伯字符,输出是一些符号和随机字符。 使用Ruby 2.2.3

Rails:fb_connect_async_js引发500错误

我是Ruby on Rails的新人。 我目前正在尝试在我的项目上安装Facebooker2 gem,以允许用户通过这个着名的网络连接。 我按照官方安装指南 。 但是,我仍然有一个问题。 当我使用* fb_connect_async_js * helper时,我收到500错误。 服务器日志告诉我以下内容: 故障安全响应期间出错:不兼容的编码正则表达式匹配(UTF-8 regexp与ASCII-8BIT字符串) 你有什么解决方案吗? 我的Gemfile,如果它可能有用: source ‘http://rubygems.org’ gem ‘rails’, ‘3.1.1’ # Bundle edge Rails instead: # gem ‘rails’, :git => ‘git://github.com/rails/rails.git’ gem ‘mysql2’ gem ‘execjs’ gem ‘therubyracer’ gem ‘activeadmin’ gem ‘meta_search’, ‘>= 1.1.0.pre’ gem ‘devise’ gem ‘mogli’ gem ‘ruby-hmac’ gem ‘facebooker2’ # Gems […]

在Ruby 1.8.7或1.9.2中编码

我一直在尝试使用不在1.9.2中构建的gem’字符编码’,但是在1.8.7中它确实如此,但即使我需要’encoding / character / utf-8’,我仍然无法做到最简单的编码。 require ‘encoding/character/utf-8’ str = u”hëllö” str.length #=> 5 str.reverse.length #=> 5 str[/ël/] #=> “ël” 我明白了 ruby-1.8.7-p302 > # encoding: utf-8 ruby-1.8.7-p302 > require ‘encoding/character/utf-8’ => nil ruby-1.8.7-p302 > str = u”hll” => u”hll” ruby-1.8.7-p302 > str.length => 3 ruby-1.8.7-p302 > #=> 5 ruby-1.8.7-p302 > str.reverse.length => 3 ruby-1.8.7-p302 > #=> […]

机械化Ruby 1.9.3编码问题

使用以下代码(来自Mechanize站点,但在rake任务中).. namespace :ans do task :grab => :environment do a = Mechanize.new { |agent| agent.user_agent_alias = ‘Mac Safari’ } begin a.get(‘http://google.com/’) do |page| search_result = page.form_with(:name => ‘f’) do |search| search.q = ‘Hello world’ end.submit search_result.links.each do |link| puts link.text end end end end end 我收到编码错误.. rake aborted! “\x8B” from ASCII-8BIT to UTF-8 这是在使用以下内容时: Rails […]

打开iso-8859-1编码的html与nokogiri混乱口音

我正在尝试对用charset = iso-8859-1编码的html页面进行一些更改 doc = Nokogiri :: HTML(open(html_file)) 把doc.to_html搞砸了页面中的所有重音。 因此,如果我将其保存回来,它在浏览器中也会被破坏。 我还在使用Rails 3.0.6 …任何提示如何解决这个问题? 这是其中一个遭受这种情况的页面,例如: http : //www.elmundo.es/accesible/elmundo/2012/03/07/solidaridad/1331108705.html 我也曾在Github问过,但我觉得这会更快。 如果我能解决这个问题,我会更新这两个地方。 更新1 2012年3月24日 感谢您的评论。 我设法部分解决了这个问题。 我相信这与Nokogiri无关。 正如我在一些评论中提到的,我只需要打开并保存文件以使重音混乱。 我得到的最接近的修复是这样做的: thefile = File.open(html_file, “r”) text = thefile.read doc = Nokogiri::HTML(text) … do any stuff with nokogiri File.open(html_file, ‘w’) {|f| f.write(doc.to_html) } 原始文件带有iso-8859-1,保存一个在utf-8中看起来很好看。 口音很到位。 除了大写字母中的访问:-PI得到像Econom a中的问号,应该有í(带有重音) 我想,越来越近了。 如果某人有提示覆盖大写字母也可能差不多完成。 干杯。

如何修复“不兼容的字符编码:UTF-8和ASCII-8BIT”?

不兼容的字符编码:UTF-8和ASCII-8BIT 如何在Rails 3.2.3和Ruby 1.9.3上解决此错误? 我试着将这两行放在environment.rb中: Encoding.default_external = Encoding::UTF_8 Encoding.default_internal = Encoding::UTF_8 我确信application.rb还包含这行“ config.encoding = “utf-8” 。 有谁知道如何解决这个问题?