当前位置: 首页 > 知识库问答 >
问题:

UTF-8编码错误Ruby on Rails

袁成化
2023-03-14

我的rails应用程序遇到了UTF-8问题,我最近从一个不同的开发人员那里接管了这个应用程序。虽然我知道错误意味着什么,我知道我需要强制所有的UTF-8,但没有运气。我已经尝试清理应用程序目录,并将所有.rb文件更新为UTF-8(以前在不同的应用程序上工作过)。

我还阅读了关于ruby的UTF-8问题的不同帖子(例如这里和这里)。

当我运行bundle update或任何其他bundle操作时,我会得到以下信息:~/my_app/.rvm/gems/ruby-2.0.0-p247/gems/bundler-1.3.5/lib/bundler.rb:285:在“split”中:UTF-8中的字节序列无效

还有以下绑定程序的其他错误。

当我尝试运行Rails时,我得到:

    /.rvm/gems/ruby-2.0.0-p247/gems/bundler-1.3.5/lib/bundler.rb:285:in 'split': invalid byte sequence in UTF-8 (ArgumentError)

    from ~/.rvm/gems/ruby-2.0.0-p247/gems/bundler-1.3.5/lib/bundler/setup.rb:7:in `<top (required)>'
    from ~/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:116:in `require'
    from ~/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:116:in `rescue in require'
    from ~/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:122:in `require'
    from ~/Development/gorefi/gorefi/config/boot.rb:6:in `<top (required)>'
    from ~/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:51:in `require'
    from /Users/gorefi/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:51:in `require'
ArgumentError: invalid byte sequence in UTF-8
An error occurred while installing rake (10.1.0), and Bundler cannot continue.
Make sure that `gem install rake -v '10.1.0'` succeeds before bundling.

共有1个答案

邢凌
2023-03-14

bundler.rb中的第285行是:

path = ENV['PATH'].split(File::PATH_SEPARATOR).find do |p|

因此,很可能在您的路径中有bundler不期望的东西。我建议您回显路径,看看它是否可以在短时间内不使用,如果是,将环境变量设置为不包含导致问题的任何内容。

长期的答案将取决于路径数据是什么。然而,如果您正在调试的是一个新安装,那么这只是一个障碍,另外的问题将会出现。您将希望创建一个列表的事情,以正确地修复,一旦您有一个处理的应用程序在第一时间运行。

 类似资料:
  • null 在一个案例中,我还意识到,如果我从Git diff复制原始值,并用它替换Eclipse中错误的值,那么我在消息属性文件中就有了正确的umlauts。

  • 问题内容: 我想从请求中获取参数(带有重音符的字符),但是它不起作用。我尝试使用,但也没有用。 我知道返回正确的字符,但不起作用! 有人有主意吗? 问题答案: Paul的建议似乎是最好的做法,但如果要解决此问题,则根本不需要URLEncoder或URLDecoder: 更新: 由于获得了很多选票,我想强调BalusC的观点,即这绝对不是解决方案。充其量是一种解决方法。人们不应该这样做。 我不知道是

  • 问题内容: 我正在用python做一些脚本。我创建一个保存在文件中的字符串。这个字符串有很多数据,来自目录的树状结构和文件名。根据convmv的介绍,我所有的树状结构都是UTF-8。 我想将所有内容都保留在UTF-8中,因为之后我将其保存在MySQL中。现在,在UTF-8的MySQL中,我遇到了一些字符问题(例如é或è-我是法语)。 我希望python始终将字符串用作UTF-8。我在互联网上阅读了

  • 我有字节数组,它放在InputStreamReader中,用它做一些操作。 JVM有默认的cp1252编码,但是我转换成字节数组的文件有utf-8编码。此外,这个文件有德语umlauts。当我把字节数组放在InputStreamReader中时,java会将元音解码为错误的符号。例如,ürepression为。我试着把“utf-8”和charset.forname(“utf-8”).newdeco

  • 我有一个。csv文件,以西班牙语编写,因此它具有特殊字符,如ñ,á,é,í,ó,ú。因此,如果我在记事本中打开它,我可以看到所有正确书写的字符,并且我已经用UTF-8编码保存了文件。但是,当我打开RStudio并使用以下方式导入数据时: 我得到了所有数据集,但编码不正确,即: 应包括以下内容: 我已经尝试了所有的方法,我不知道还能做什么,因为我已经检查过R是否使用UTF-8编码,文件是否以相同的方

  • 我的UTF-8编码有问题。我的webapp使用法语单词,这些单词在我的jsp中正确显示,但在发布后不会显示在我的控制器中。例如,在我的jsp中,我有: Prénom de mon père 当我发布表单时,控制器得到: Prénom de mon père characterEncodingFilter是文件中的第一个过滤器,如本文所述 这是我的jsp: 我的网络。xml: 和我的应用程序配置