Tag: 字符编码

Rails 2.3.2 / Ruby 1.8.6编码问题 – ActionController返回UTF-8?

我有一个非常简单的关于编码的Rails问题,我无法找到答案。 环境:Rails 2.3.2 / Ruby1.8.6 我目前没有在Rails环境中设置任何编码选项,已将所有内容保留为默认值。 如果我从文本文件中读取磁盘中的字符串 – 并使用Apache / Phusion通过Rails渲染:文本function发送它,客户端应该使用什么编码? 谢谢你的任何答案,

使用缓存时Rails字符编码问题

我使用rails fragemnet缓存来缓存一些html。 以下是我的代码 ‘pageui’, :action_suffix => “#{@link.id}_tags”) do %> 0 %> tag.id), :title => tag.name, :target => “_blank” %> Still no tag for this Page. 我遇到了一些奇怪的问题。 第一次没有缓存的fragement时,它会出现错误“不兼容的字符编码:UTF-8和ASCII-8BIT” 但后续请求工作正常。 只有第一个请求才会出错。 任何提示?

如何故意在Mysql中插入错误编码的字符串?

这可能是我在Stackoverflow中要求的最奇怪的问题之一:) 我有一个遗留的,未经过测试的PHP应用程序,根本无法触及。 此应用程序使用Mysql和每个帐户一个数据库。 所以我们有数以千计的数据库。 由于在我开始处理之前出现了错误,这个应用程序在Mysql中连接了错误的编码。 所以在数据库中,我们应该有“é”,我们实际得到“Ô。 虽然在应用程序中(由于错误的连接编码),我们得到é。 我有一个Rails应用程序来管理帐户/数据库的创建。 问题是Rails应用程序正在使用正确的编码,当它创建数据库时,它将插入一些PHP应用程序无法正确读取的数据。 我的问题:考虑到我在Ruby中有一个字符串“é”,我该如何故意将其改为“é”? 我可以使用的任何string.encode? 注1:我无法转储所有数据库并修复此问题(这将是理想的解决方案) 注意2:我无法切换Rails连接编码,因为它使用另一个具有正确编码的数据库

关于从CSV导入的操作之前

我有一个简单的CSV导入,其中提供的文件已被破坏(UTF字符)(德语)。 例如:该清单有: G%C3%B6tterbote 正确的名称应该在哪里 Götterbote 我正在尝试在导入CSV时强制编码。 我的导入行动 def import Player.import(params[:file]) redirect_to players_path, notice: “Players Imported successfully” end 我的导入方法 def self.import(file) SmarterCSV.process(file.path) do |row| Player.create(row.first) end end 我发现这会成功转换String,但无法成功实现: u = “G%C3%B6tterbote” => “G%C3%B6tterbote” u1 = CGI::unescape(u).force_encoding(‘UTF-8’) => “Götterbote” 所以基本上我需要像before_action (我猜)…

不兼容的字符编码:ASCII-8BIT和UTF-8,同时在rails中使用javascript

我试图在我的rails 3应用程序版本1.9.3中使用javascript。 当我包含此行%= javascript_include_tag “application” %>我收到以下错误: Encoding::CompatibilityError in Products#index incompatible character encodings: ASCII-8BIT and UTF-8 Extracted source (around line #9): 6: 7: 8: 9: 10: 11:

Ruby on Rails – 编码问题

我正在运行一个RoR应用程序,它从一些使用utf8_general_ci作为整理的事件表中提取数据。 问题是我的所有页面都呈现如下内容: Atat rkStadiNov 02 20:00 到目前为止,我已经尝试过: – 在application.rb中更改编码 加入 加入 content=”text/html;charset=utf-8″ 上述标签的所有组合以及可能适用于我们内容的所有可能的相关编码。 文件类型是 我也尝试过HTML5和其他变种。 我还没有尝试过iconv解决方案,不想走这条路。 有没有人知道如何解决这个问题? 谢谢! N.

在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 > #=> […]

打开URI – 无效的URI错误,编码/转义不影响

我正在构建一个YahooFinance Api,并在尝试使用开放URI时不断碰壁。 码: uri = (“http://ichart.finance.yahoo.com/table.csv?s=#{URI.escape(code)}&a=#{start_month}&b=#{start_day}&c=#{start_year}&d=#{end_month}&e=#{end_day}&f=#{end_year}&g=d&ignore=.csv”) puts “#{uri}” conn = open(uri) 错误: `split’: bad URI(is not URI?): http://ichart.finance.yahoo.com/table.csv?s=%255EIXIC&a=00&b=1&c=1994&d=09&e=14&f=2014&g=d&ignore=.csv} (URI::InvalidURIError) 我已经尝试了URI.unescape(code) ,输出code为^IXIC ,以及保留任何URI方法, code将通过%5EIXIC 。 在阅读堆栈溢出后,我尝试了这两种方法都无济于事: uri = URI.parse(URI.encode(url.strip)) safeurl = URI.encode(url.strip) 即使在查看了另一个ruby yahoo-finance gem的代码之后, 在这里 ,我似乎无法找到解决方案。 任何帮助是极大的赞赏。 谢谢 编辑:当我用单引号手动输入url时,我可以使用open(uri) 。 做双引号,(用于插入ruby物体),在这里发挥作用?

我怎么弄清楚这个角色是什么?

更新:显然这些是控制字符,而不是Unicode字符。 我正在尝试解析一个XML文件,该文件中有一个奇怪的字符使其无效并导致我的工具(Firefox,Nokogiri)抱怨。 这是Firefox中的角色,以及将其复制并粘贴到Textmate时的样子(显然我在OS X上)。 疯狂的人物http://sofzh.miximages.com/ruby/skitch 而不仅仅是神秘的图标和小小的灰色钻石,我真的很想知道这些字符是什么(例如hex/十进制代码),但我不知道如何解决这个问题。

修复MySQL不正确的字符串编码

我正在从一个没有为Unicode设置的mysql数据库中读取字符串。 Ruby将字符串作为七大洋但我知道正确的版本应该是七大洋 。 “错误”字符串被编码为UTF-8,因为Ruby不知道它有错误。 我已经尝试在受损的字符串上强制执行每个编码,但没有任何作用。 我有一种感觉,我可以通过摆弄这些位来做到这一点,但我甚至不知道从哪里开始。 我认为没有任何信息丢失,因为错误的字符串实际上比正确的字符串有更多的字节。 我不认为Ruby是这里的罪魁祸首,因为当我在Ruby之外查看表时,字符串看起来也很糟糕 – 所以我希望能够消除MySQL已经造成的损害。