Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails REXML::Document.new我们可以在这一行给出编码参数吗?_Ruby On Rails_Ruby_Ruby On Rails 3.1_Ruby On Rails 3.2_Rexml - Fatal编程技术网

Ruby on rails REXML::Document.new我们可以在这一行给出编码参数吗?

Ruby on rails REXML::Document.new我们可以在这一行给出编码参数吗?,ruby-on-rails,ruby,ruby-on-rails-3.1,ruby-on-rails-3.2,rexml,Ruby On Rails,Ruby,Ruby On Rails 3.1,Ruby On Rails 3.2,Rexml,doc=REXML::Document.new文件 每当我的xml文件包含UTF-8以外的一些特殊字符时,我的代码就会失败 REXML::ParseException (#<REXML::ParseException: #<ArgumentError: invalid byte sequence in UTF-8> REXML::ParseException(#您可以调用类似这样的东西 REXML::Document.new(file.force_encoding("FILE

doc=REXML::Document.new文件 每当我的xml文件包含UTF-8以外的一些特殊字符时,我的代码就会失败

REXML::ParseException (#<REXML::ParseException: #<ArgumentError: invalid byte sequence in UTF-8>

REXML::ParseException(#您可以调用类似这样的东西

REXML::Document.new(file.force_encoding("FILE_ENCODING").encode("UTF-8"))

FILE\u ENCODING是您的文件变量的编码。

我尝试了,但得到了文件的未定义方法错误…以下是我所做的……FILE=FILE.open(FILE\u name)……doc=REXML::Document.new(FILE.force\u ENCODING(“UTF-8”))…我的文件默认为UTF-8,因为它是一个XML文件…..文件应该是文本。UTF-8文件中怎么可能有非utf8字符?我正在加载.XML文件..我认为在生成XML时有一个从浏览器复制粘贴的步骤..所以它有一些非UTF-8字符。现在我正在使用这个步骤:REXML::Document.new(file.open)(file\u name,“r:iso-8859-1:utf-8”))解决了我的问题…但我不确定它是如何工作的!你对此有什么想法吗?好的,这会在打开文件时重新编码,所以你不会有问题。我上面的函数也会这样做,但会对文件内容进行重新编码。