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

2024-04-17

有没有解决办法可以使用String.force_encoding()在 Ruby 1.8.7(或 Rails 2.x)中,以便它像在 Ruby 1.9 中一样工作?我读过一些关于 require 的内容active_support,但这不起作用

$> 宝石列表--本地| 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 "asdf":String
> String.respond_to?(:force_encoding)
=> false

这将为您提供 Ruby 1.8.7 和 Ruby 1.9 中的 String#to_my_utf8:

require 'iconv'
class String
  def to_my_utf8
    ::Iconv.conv('UTF-8//IGNORE', 'UTF-8', self + ' ')[0..-2]
  end
end

进而...

?> "asdf".to_my_utf8
=> "asdf"

灵感来自保罗·巴特利 http://po-ru.com/diary/fixing-invalid-utf-8-in-ruby-revisited/还记得我以前的一些工作远程表宝石 https://github.com/seamusabshere/remote_table.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ruby 1.8.7(或 Rails 2.x)中的 String.force_encoding() 的相关文章

  • 如何让 XSLT 在 Java 中返回 UTF-8

    我正在尝试让我的 XSL 脚本使用 UTF 8 编码 像 和希腊字符这样的字符就像垃圾一样出现 让它工作的唯一方法是将结果写入文件 如果我将它写入输出流 它只会返回垃圾 System out 有效 但这可能是因为它被重定向到文件 结果需要从
  • Jekyll 服务错误:找不到 gem jekyll (>= 0.a) (Gem::GemNotFoundException

    做的时候sudo jekyll serve我收到以下错误 Users myusername rvm rubies ruby 2 4 2 lib ruby site ruby 2 4 0 rubygems rb 271 in find spe
  • 广告过滤服务器端[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在开发一个 Web 应用程序 在其中显示来自其他网站的 HTML 在显示最终版本之前 我想去掉广告 关于如何实现这一目标有什么想法
  • 在设计电子邮件主题中添加动态价值

    好吧 我看过很多关于自定义设计电子邮件主题的讨论 但似乎没有一个能解决我想要的问题 目前我的确认电子邮件主题为 确认您的 Qitch com 帐户 我想自定义此电子邮件主题并在其中添加用户名的动态值 这样如果用户ALEX注册一个帐户 他应该
  • 哪个版本的 ruby​​ bug 较少?

    我最近编写了一些复杂的 ruby 脚本 最终会在随机时间和随机位置因段错误而失败 例如 nokogiri mechanize inov 超时 我在 Windows 7 下的 1 9 1 p 129 1 8 6 p 369 和 ubuntu
  • MySQL 不将 ı 视为 i?

    我在 MySQL 5 7 27 中有一个用户表utf8mb4 unicode ci整理 不幸的是 没有像 i 那样进行线程化 以下查询将找不到Y lmaz select id from users where name Yilmaz 我对其
  • gem 如何提供 Cucumber 功能和步骤定义?

    我有两个 Rails 项目 A 和 B 其中包含以下宝石 project A gem green theme path gt dev themes green theme gem devel tasks path gt dev themes
  • 授予 Rails 应用 API 访问权限的最佳身份验证方法

    我想为我的网络应用程序提供经过身份验证的 API 访问 此类服务的消费者通常是其他网站 服务 验证这些用户身份的最佳方法是什么 OAuth openID http 身份验证 正如我们的工作一样 哪个最好 的答案是这样的 是 这取决于 HTT
  • 使用 Rails 自动登录?

    我正在尝试使用 Rails 的 Restful Authentication 插件建立一个简单的身份验证系统 我只是想知道它是如何工作的 b c 我似乎无法弄清楚 cookie 的要求是什么 以及如何做到这一点浏览器始终会记住您 6 个多月
  • 使用 sidekiq 只执行众多重复作业之一?

    我有一个后台作业 在 MongoDB 上执行映射 归约作业 当用户向文档发送更多数据时 它会启动在文档上运行的后台作业 如果用户发送多个请求 它将启动同一文档的多个后台作业 但实际上只有一个需要运行 有没有办法可以防止多个重复实例 我正在考
  • Ruby - 乘法问题

    我的输出是这样的 ruby 1 9 2 p290 011 gt 2 32 3 gt 6 959999999999999 我记得有一天在另一台机器上我得到了它就像 2 32 3 6 我的错误是什么 非常感谢您阅读本文 如果您确实想向下舍入为整
  • 机架 1.3.2 的问题。您已经激活了机架 1.3.2,但您的 Gemfile 需要机架 1.2.3

    我在 Debian 上有 Passenger 3 0 9 带有 Gem Rack 1 3 2 和 1 2 1 使用带有乘客 e 捆绑器的 Rails 3 0 应用程序 我遇到以下错误 您已经激活了机架 1 3 2 但您的 Gemfile 需
  • 如何在rails中定义自定义路径?

    我有一个用户模型 如果我做 def my action user User new end then I get undefined method users path for
  • 如何使用键盘进入 ruby​​-debug 运行 Rails 应用程序?

    我正在运行 ruby debugbundle exec rdebug script server在 Rails 2 3 上 当我按下Ctrl C 它退出整个程序和调试器 我希望它停止执行程序并将我带入调试器会话 I tried catch
  • Rails 4.0 expire_fragment/缓存过期不起作用

    我一直在尝试使用 Rails 的缓存功能 但我无法使某些缓存片段过期 尽管它们似乎已过期 使用 Rails 教程网站中指出的 Russian Doll Caching 我正在使用此配置 我使release controller rb 控制器
  • 您推荐使用哪些工具来分析 Rails 应用程序? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我一直在寻找 Rails 的分析工具 我目前正在玩和测试 ruby prof 和 Railsbench 但我对使其工作所需的大量调整和修改
  • 通过 JavaScript 获取页面/iframe 的编码

    我想通过 JavaScript 或浏览器中的其他一些 API 以编程方式确定页面的编码 我想要这些信息的原因是因为我试图对主要浏览器支持的字符编码进行模糊测试 显然仅仅因为我发送了适当的 内容类型 并不意味着浏览器会使用编码做正确的事情 欢
  • Rails 3 ActiveAdmin。如何为关联记录设置默认排序顺序?

    我有一个发货模型和一个发票模型 发票属于装运 所以我添加了一个默认的发货排序顺序 如下所示 config sort order file number desc 但现在我想为发票添加相同的排序顺序 发货表是具有 file number 列的
  • 使用 Assetic PHP 通过 RVM 安装后 Sass 损坏

    我正在尝试设置 Assetic PHP 资源编译器 并且它可以与 CoffeeScript Stylus 和 Less 一起使用 所有 NPM 包都运行良好 然而 对于 Sass 我遇到了问题 以下是我到目前为止所采取的步骤 我安装了 RV
  • docker 中的 Capybara headless chrome 返回 DevToolsActivePort 文件不存在

    我正在尝试配置系统测试以使用硒中的无头铬 我有以下水豚配置 spec support capybara rb Capybara server puma Silent true RSpec configure do config config

随机推荐

  • 多处理管理器出现 EOFError

    我有很多客户端通过 0MQ 连接到服务器 我有一个管理器队列 用于工作人员池与每台客户端计算机上的主进程进行通信 在一台拥有 250 个工作进程的客户端计算机上 我几乎立即看到一堆 EOFError 它们发生在执行 put 时 我预计大量的
  • 有没有办法在 Spark 中随机排列集合

    我需要用 2 2 10 9 行打乱文本文件 有没有办法将它加载到 Spark 中 然后并行地洗牌每个分区 对我来说 在分区范围内洗牌就足够了 然后将其溢出回文件 要仅在分区内进行洗牌 您可以执行以下操作 rdd mapPartitions
  • 这个校验和算法可以改进吗?

    我们有一个非常旧的 不受支持的程序 可以跨 SMB 共享复制文件 它有一个校验和算法来确定文件内容在复制之前是否已更改 该算法似乎很容易被愚弄 我们刚刚找到了一个示例 其中两个文件完全相同 除了单个 1 更改为 2 之外 返回相同的校验和
  • 无法使用 mailR 包通过 Outlook.com 发送电子邮件

    我想用 mailR 用于发送带有身份验证的电子邮件通知的包 这个包的支持者是 rJava 并使用 Java 设施 我注册了 Outlook com 帐户 这是代码 library mailR email lt send mail from
  • 读取 3 个字节作为整数

    如何读取 3 个字节的整数 struct module 是否提供类似的东西 我可以读取 3 个字节并添加一个额外的 x00 然后将其解释为 4 字节整数 但这似乎没有必要 struct 模块没有 3 字节整数的选项 所以我认为附加 x00
  • 从 oauth 身份验证获取电子邮件 (Microsoft)

    如何从微软帐户获取电子邮件 我正在执行以下操作 public ActionResult ExternalLoginCallback string returnUrl AuthenticationResult result OAuthWebS
  • 在 R 中使用 geom_rect 进行时间序列着色

    我正在尝试对时间序列图的某个部分进行着色 有点像经济衰退阴影 类似于底部的图表 这篇关于 Excel 中的经济衰退阴影的文章 https research stlouisfed org tips 200511 recession bars
  • Java ArrayList 和 LinkedList - 在末尾添加元素实现细节

    我对为什么 arraylist 比链表更快的理解是 使用 arraylist 基本上只需要一个操作 更新末尾数组元素的引用 而使用链表你必须做更多的事情 例如创建一个新节点 更新 2 个引用 遍历链表并更新最后一个节点以指向新节点等 但是我
  • 如何使用函数减少值

    嘿 实际上我制作了一个 html 页面 其中有两个部分 当我单击第一部分时 数字会增加 当我单击第二部分时 第二部分中的数字会增加 我使用了 javascript 现在我在每个页面的底部做了一个按钮 我希望当我单击该按钮时 数字应该减少我尝
  • Google Drive Android API:已删除的文件夹在查询中仍然存在

    运行下面的代码 我在平板电脑上使用 Google Drive Android API 创建一个文件夹 几秒钟后 从 PC 上的远程位置删除该文件夹 当我重新运行代码时 API 仍然认为 MyFolder 存在 即使它已被删除并且在平板电脑上
  • 计算非图的所有可能突变[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我需要根据非常具体的配方构建一个非图解算器 对于每一行 我需要计算所有可能的突变 然后检查该行是否仍然使谜题有效 对于那些不知道非图的人 这
  • Xcode Storyboard 和 xib 连接

    我有一个包含许多视图控制器的故事板项目 我创建了一个名为 connecter h connector m 现在我可以将此类连接到一个 xib 文件吗 请帮我 您可以创建XIB当你创建时connector h and connector m通
  • React:如何模拟 Auth0 以使用 Jest 进行测试

    我正在使用 React react create app 和 TypeScript 使用 Auth0 进行登录 我想用 Jest 编写测试 我发现这个资源基本上是唯一谈论模拟 Auth0 对象的资源 所以我的代码如下所示 import Re
  • 如何将值从 Fragment 传递到 Activity

    我是 Android 开发新手 我试图将值从片段传递到活动 但经过多次尝试后我无法得到答案 这是我的片段 public OtpGentation int OTP this OTP OTP public OtpGentation String
  • 对行的最后一个字段进行排序

    对行列表进行排序 对每行的最后一个字段进行排序 的最简单方法是什么 每行可以有可变数量的字段 就像是 sort k 1 是我想要的 但 sort 1 不采用负数来从末尾而不是从开头选择字段 我还希望能够选择字段分隔符 编辑 要为问题添加一些
  • 在 Azure 应用服务任务 v3 中使用 Web 部署时出现 ERROR_FILE_IN_USE

    类似的问题已被问过多次 但大多数答案都是旧的 并且可能只部分适用 此问题特定于使用 Azure 应用服务部署 任务版本 3 通过 Azure DevOps Azure Pipelines 使用 Web 部署 无法将 Web 包部署到应用服务
  • 如何判断 PostgreSQL 的 Autovacuum 是否在 UNIX 上运行?

    如何判断是否自动清理守护进程在Postgres 9 x中是运行和维护数据库集群的吗 PostgreSQL 9 3 确定 Autovacuum 是否正在运行 这是 UNIX 上的 Postgres 9 3 特有的 对于 Windows 请参阅
  • 在 Codeigniter 中将数组保存到会话

    我在 Codeigniter 中将数组保存到会话数据时遇到问题 var dump this gt session gt userdata data output is boolean false array array 0 gt abc 1
  • MySQL 查询 WHERE 包括 CASE 或 IF?

    奇怪的问题 我的查询看起来像 SELECT DISTINCT ID etcetc if elses over muliple joined tables FROM table1 AS t1 some joins eventually unr
  • Ruby 1.8.7(或 Rails 2.x)中的 String.force_encoding()

    有没有解决办法可以使用String force encoding 在 Ruby 1 8 7 或 Rails 2 x 中 以便它像在 Ruby 1 9 中一样工作 我读过一些关于 require 的内容active support 但这不起作