Tag: 编码

Rails – 电子邮件主题在hotmail中是乱码

发送电子邮件适用于所有主要电子邮件客户端,除了hotmail(和其他一些),它显示为: =?windows-1255?Q?Z33=30_=F9=22=E7=20=F2=E1=E5=F8_=F9=E5=E1=F8=20=E1=F9=E5=E5=E9=20=36=30_=F9=22=E7=20=EC=22=EE=F8=E2=E5=E6=E4=22=2C_=E1=E9=FA_=F7=F4=E4=20=E5=EE=E0=F4=E9=E9=E4_=EE=F9=F4=E7=FA=E9=FA=2C=20=E1=EE=FA=E7=ED=20=F9=E5=F7=20=E4=F4=F9=F4= 无论是否是utf8都无关紧要。 似乎hotmail不能读取长引用的主题,因为对于较短的主题,它显示确定。 AFAIK例如gmail所做的就是将主题分成几块,64(或者其他)chars long …但我无法弄清楚如何在rails(2.3.8)中做到这一点。 Rails默认编码主题,引用forms,找不到如何覆盖它,所以我可以自己拆分… 谢谢。

这是修复Rails utf8问题吗?

我见过很多人在使用rails时遇到过这个问题。 我长期以来一直有这个问题。 这里是: 再次使用rails app的utf8问题 这解决了我的问题。 但我不知道多少可以确定,如果我能真正做到这一点,所以我想问你.. 所以我做的是,文件“lib \ active_support \ core_ext \ string \ output_safety.rb” 我改变了这个: def concat(value) if dirty? || value.html_safe? super(value) else super(ERB::Util.h(value)) end end alias << concat 对此: def concat(value) value = (value).force_encoding(‘UTF-8’) if dirty? || value.html_safe? super(value) else super(ERB::Util.h(value)) end end alias << concat 对我来说,这解决了我所有的编码问题,但是有人可以告诉我这个的起起落落吗? 以及如何将其移至初始化器中,以便在其他机器上运行?

有没有办法在Ruby中清除“UTF-8中无效字节序列”错误的文件?

在发布到StackOverflow之前我已尝试过所有内容我真的希望有人可以提供帮助,但我非常绝望。 所以,我有一个服务,通过客户提供的XML提要将数据上传到我们的数据库。 这些XML文件通常声称是UTF-8编码,但显然有很多无效的字节序列。 我可以通过在导入之前运行以下Linux命令来清理这些文件并将它们完美地导入我们的数据库: tr -cd ‘^[:print:]’ clean.xml 只需运行这一个Linux命令,我就可以使用Rails中的Nokogiri将所有数据导入我的数据库。 问题是我们正在Heroku上部署,我无法使用Linux命令预处理该文件。 我花了上周的时间在Internet上搜索基于Rails的本地解决方案来解决这个问题,但是没有一个能够解决问题。 在我完成我尝试过的所有建议之前,这是我的原始代码: data_source = ARGV[0] data_file = open data_source data_string = data_file.read doc = Nokogiri::XML.parse(data_string) doc.xpath(“.//job”).each do |node| hash = node.element_children.each_with_object(Hash.new) do |e, h| h[e.name.gsub(/ /,”_”).strip.downcase.to_sym] = e.content data.push(newrow) end end 在原始文件上运行此操作会产生错误:“UTF-8中的字节序列无效” 以下是我尝试过的所有有用的建议,但都失败了。 使用编码器 Coder.clean!(data_string,“UTF-8”) 强制编码 data_string.force_encoding(’BINARY’)。encode(’UTF-8’,:undef =>:replace,:replace =>”) 转换为UTF-16并返回UTF-8 data_string.encode!(’UTF-16’,’UTF-8’,:invalid =>:replace,:replace =>”)data_string.encode!(’UTF-8’,’UTF-16’) 使用valid_encoding? data_string.chars.select […]

如何在全局的Rails中设置#encoding:utf-8

现在我在每个控制器中使用# encoding: utf-8 ,其中:通知消息不在拉丁语中我试图将它放在ApplicationController中,试图在顶部添加 application.html.erb,没有用,有什么帮助吗? 编辑: config.encoding =“utf-8”也在application.rb中设置 编辑: 此代码出现错误: redirect_to root_url, :notice => “Вышли успешно” 这是一个错误 :syntax error, unexpected $end, expecting ‘}’ …_or_to root_url, :notice => ‘Вышли успешно.’ }

在rails中编码:: CompatibilityError

:user, :action => :logout %> 这引发了Encoding :: Compatibilityexception,当我尝试时 :user, :action => :logout %> 这也无济于事。 但这很有效 <a href="https://stackoverflow.com/questions/1962469/encodingcompatibilityerror-in-rails/ :user, :action => :logout>”>注销 为什么??? 我只是无法弄清楚为什么会发生这种情况以及如何解决它。 有任何想法吗?? 谢谢!!! ruby版本1.9,rails 2.3.5

为什么to_json在Rails 4中自动转义unicode?

Rails 3: {“a” => “”}.to_json => “{\”a\”:\”\”}” 导轨4: {“a” => “”}.to_json => “{\”a\”:\”\\u003Cbr/\\u003E\”}” 为什么??? 它似乎导致错误 Encoding::UndefinedConversionError: “\xC3” from ASCII-8BIT to UTF-8 当我的Rails 3应用程序尝试解析我的rails 4应用程序生成的JSON时。

Ruby on Rails用法语发送flash消息

使用法语在rails应用程序上工作,但是每当我在flash消息中包含重音时,它就会破坏站点。 例如 format.html {redirect_to @message.annonce, notice:”Votre message a été envoyé”} format.html {redirect_to @message.annonce, notice:”Votre email n’a pas pu être envoyer à cause d’une erreur.”} 我的config / application.rb看起来像这样 config.i18n.default_locale = :fr config.encoding = “utf-8” 人们怎么做到这一点?

PG ::错误:错误:编码“UTF8”的无效字节序列:0xfc

当某些字符串保存到数据库时,我收到以下ActiveRecord错误。 ActiveRecord::StatementInvalid: PG::Error: ERROR: invalid byte sequence for encoding “UTF8”: 0xfc 我觉得这个字符串是Mühldorf 。 我已经尝试将# encoding: utf-8到我的ruby文件的顶部来解决这个问题,但似乎没有做任何事情。 我正在使用Ruby Geocoder提取位置数据,这就是字符串的来源。 我在Heroku上的Postgres数据库上运行Ruby 1.9.3。

Rails / javascript:“参数键太多” – 什么是规范化表单数据的好方法?

我正在使用rails 3.1.3。 我有一个有很多领域的表格。 提交表单时,我收到此错误 ERROR RangeError: exceeded available parameter key space /home/james/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.3.6/lib/rack/utils.rb:99:in `block in parse_nested_query’ /home/james/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.3.6/lib/rack/utils.rb:93:in `each’ /home/james/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.3.6/lib/rack/utils.rb:93:in `parse_nested_query’ /home/james/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.3.6/lib/rack/request.rb:302:in `parse_query’ /home/james/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.3.6/lib/rack/request.rb:190:in `POST’ /home/james/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.3.6/lib/rack/methodoverride.rb:15:in `call’ /home/james/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.3.6/lib/rack/runtime.rb:17:in `call’ /home/james/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.3/lib/active_support/cache/strategy/local_cache.rb:72:in `call’ /home/james/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.3.6/lib/rack/lock.rb:15:in `call’ /home/james/.rvm/gems/ruby-1.9.3-p0/gems/actionpack-3.1.3/lib/action_dispatch/middleware/static.rb:53:in `call’ /home/james/.rvm/gems/ruby-1.9.3-p0/gems/railties-3.1.3/lib/rails/engine.rb:456:in `call’ /home/james/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.3.6/lib/rack/content_length.rb:14:in `call’ /home/james/.rvm/gems/ruby-1.9.3-p0/gems/railties-3.1.3/lib/rails/rack/debugger.rb:21:in `call’ /home/james/.rvm/gems/ruby-1.9.3-p0/gems/railties-3.1.3/lib/rails/rack/log_tailer.rb:14:in `call’ /home/james/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.3.6/lib/rack/handler/webrick.rb:59:in `service’ /home/james/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service’ /home/james/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run’ /home/james/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread’ 显然,提交的k / v对太多了。 什么是解决这个问题的好方法? […]

bundle install error“US-ASCII(ArgumentError)中的无效字节序列”

当我尝试运行’bundle install’时,我得到一个奇怪的错误:“US-ASCII(ArgumentError)中的无效字节序列” $ bundle install Updating git://github.com/devton/catarse_paypal_express.git Unfortunately, a fatal error has occurred. Please see the Bundler troubleshooting documentation at http://bit.ly/bundler-issues. Thanks! /Users/…/.rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.2.3/lib/bundler.rb:294:in `block in load_gemspec_uncached’: invalid byte sequence in US-ASCII (ArgumentError) from /Users/…/.rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.2.3/lib/bundler.rb:291:in `chdir’ from /Users/…/.rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.2.3/lib/bundler.rb:291:in `load_gemspec_uncached’ from /Users/…/.rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.2.3/lib/bundler.rb:282:in `load_gemspec’ from /Users/…/.rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.2.3/lib/bundler/source.rb:411:in `block in load_spec_files’ from /Users/…/.rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.2.3/lib/bundler/source.rb:410:in `each’ from /Users/…/.rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.2.3/lib/bundler/source.rb:410:in `load_spec_files’ from /Users/…/.rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.2.3/lib/bundler/source.rb:799:in `load_spec_files’ […]