Tag: 编码

在ruby 1.9中是否有一种方法可以从字符串中删除无效的字节序列?

假设你有一个像”€foo\xA0″这样的字符串,编码为UTF-8,有没有办法从这个字符串中删除无效的字节序列? (所以你得到”€foo” ) 在ruby-1.8中你可以使用Iconv.iconv(‘UTF-8//IGNORE’, ‘UTF-8’, “€foo\xA0”)但现在已弃用。 “€foo\xA0”.encode(‘UTF-8’)没有做任何事情,因为它已经是UTF-8了。 我试过了: “€foo\xA0″.force_encoding(‘BINARY’).encode(‘UTF-8’, :undef => :replace, :replace => ”) 产量 “foo” 但这也失去了有效的多字节字符€

在所有文件中添加“#coding:utf-8”

我能以某种方式配置Rails以避免需要在所有文件中添加# coding: utf-8吗? 或者我必须手动将其添加到每个文件? UPD 为了改善我的生活,我发现了这个gem: magic_encoding 它不会解决问题,但它会为每个文件添加magick线。 相关主题: 为什么升级到Rails 3后所有字符串都是ASCII-8BIT?

Ruby 1.8.7(或Rails 2.x)中的String.force_encoding()

有没有在Ruby 1.8.7(或Rails 2.x)中使用String.force_encoding()的解决方案,以便它像在Ruby 1.9中一样工作? 我读了一些关于require active_support ,但这不起作用 $> gem list –local | grep’rails \ | activesupport’ activesupport (3.0.3, 2.3.8, 2.3.5) rails (2.3.8, 2.3.5) $> ruby -v ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin10.4.0] $> rails -v Rails 2.3.8 IRB: > require “rubygems” => true > require “active_support” => true > “asdf”.force_encoding(“UTF-8”) NoMethodError: undefined method `force_encoding’ for […]

你可以在没有源的情况下分发Ruby on Rails应用程序吗?

我想知道是否可以在没有源代码的情况下分发用于生产的RoR应用程序? 我在SO上看过这篇文章 ,但我的情况有点不同。 这将是一个由具有一些线索的人管理的应用程序,所以我很酷,仍然需要在客户端设置Apache / Mongrel / MySQL。 我真正想要的是保护源。 编码似乎是分发PHP应用程序的一种流行方式(例如: Helpspot )。 我发现了这些潜在的解决方案: Zenobfuscate – 然而,并不支持所有类型的Ruby代码,所以这一点很重要 Ruby编码器 – 可能是最好的选择,因为他们的PHP编码器看起来没问题(但我还没有尝试过)但它还没有。 我之前使用过IONcube for PHP并且运行良好,但IONcube似乎并不感兴趣 。 弹弓 – 它在其他SOpost中被提及,但它解决了我的一个不同的问题,源仍然是可见的。 RubyScript2Exe – 来自doco,它不是生产就绪的,所以重要的是。 我听说可能使用JRuby并分发字节码可能是实现这一目的的一种方法,但我从未使用过JRuby所以我不确定涉及到什么。 任何人都可以提供任何想法和/或已知示例吗? 理想情况下,我也喜欢拥有某种自动构建方案。