2011-07-06 2 views
2

私はこのようなコードを持っている:Firefox(Jetpack)Addonのresponse.textでエンコードを処理するにはどうすればよいですか?

Request: require('request').Request 
_makeCall:function(callback){ 
Request({ 
     url: 'URL-TO-API', 
     contentType: "application/x-www-form-urlencoded; charset=iso-8859-1", 
     content: { 
      op: 'OPERATION-TO-CALL, 
      password: 'super-sec, 
     user: '[email protected]' 
     }, 
     onComplete: function (response) { 
      if(response.status == 200){ 
       callback(response.text); 
      } 
      else{ 
       callback(''); 
      } 
    } 
}); 
req.post(); 
} 

は、APIがISO-8859-1でエンコードされたXML構造体を返します。 response.textに返されるデータには、ö、ä、öなどのスウェーデン語の文字が含まれます。残念ながら、このような文字はasとして表示されます。 私はこのようになり、テキストが表示されているパネルに使用htmlページ:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="iso-8859-1"> 

...。

私は本当にここにこだわっている、誰もこのエンコーディングの問題を処理する上で任意のアイデアを持っていますか?

答えて

0

XMLHttpRequestRequestは、おそらくUTF-8エンコーディングに基づいています)。異なるエンコーディングのために、サーバーの応答がContent-Typeヘッダのcharset、例えば:

Content-Type: text/html; charset=iso-8859-1 

これは、応答が正しくUnicodeに変換されていることを確認しますを指定する必要があります。 <meta>タグは役に立ちません。

関連する問題