2009-09-04 70 views
2

我的整个应用程序是UTF-8服务的东西,只有一个页面(XML)应返回一个ISO-8859-1页在HTML标题更改charset属性

<?xml version="1.0" encoding="ISO-8859-1"?> 

现在,我该如何改变标题属性为了有ISO-8859-1服务。

wget --save-headers http://79.125.52.185/kdb/jobs/jobs_ch 

结果是

HTTP/1.0 200 OK 
... 
Content-Length: 34899 
Status: 200 OK 
Content-Type: application/xml; charset=utf-8 
... 
<?xml version="1.0" encoding="ISO-8859-1"?> 
<JOBS> 
    <INSERATE> 
    <INSERAT> 
     <ORGANISATIONID>10</ORGANISATIONID> 
     <INSERATID>1532</INSERATID> 
     <VORSPANN>Gemeinsam mit Ihrem Team sorgen Sie f&#252;r Kundenservice 

其中

f&#252;r 

应该是

für 

Content-Type: application/xml; charset=utf-8 

应该是

Content-Type: application/xml; charset=iso-8859-1 

电流源

控制器

def jobs_ch 
    @jobs = ... 
    render :action => 'jobs_ch', :layout => 'empty' 
end 

视图

xml.instruct! :xml, :version=>"1.0" , :encoding => "ISO-8859-1" 
xml.JOBS{ 
... 
+0

你了解:布局=>假,顺便说一句? – 2009-09-04 12:48:06

回答

1

啊,我感觉到你的痛苦。我解决了这样的after_filter同样的问题:

after_filter :this_xml_needs_to_be_in_cp1251 

def this_xml_needs_to_be_in_cp1251 
    response.charset = 'cp1251' 
    response.body = Iconv.conv('cp1251//IGNORE//TRANSLIT','UTF-8',response.body) 
end 

我编辑的片段,以您的需求,但我不知道编码的iconv代码。

0

保持联系URL-Codiert sind?

Möglicherweisebringts是,德恩杜

CGI.unescape(string) 

verwendest,毛皮deine回到名单Daten?

+0

ich glaube die Zeichen sind nicht das问题,das问题ist,dass im Header Content-Type:application/xml; charset = utf-8 steht。 – Beffa 2009-09-04 12:22:30