• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:HTTPHeader情報の日本語が文字化けします)

HTTPHeader情報の日本語が文字化けします

このQ&Aのポイント
  • Mac OS X 10.6.7の開発環境で、HTTPHeader情報に日本語が含まれると文字化けしてしまいます。
  • HTTPレスポンスで返されるHeaderの情報には、正しいShift-JISのコードが含まれているにもかかわらず、取得した結果に不要なx00が補填されています。
  • 現在のところ、この文字化け現象を回避するための解決策は見つかっていません。

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.3

こっちを試してみるとか: NSData* sjisData = [str dataUsingEncoding:NSISOLatin1StringEncoding allowLossyConversion:YES];

tommwo
質問者

お礼

ご回答ありがとうございます! 上記のエンコーディングで試したところ、 特にバイト操作する事もなく、 正しいShift-Jis文字列が返されました。 結果として、正しく表示できました。 エンコーディングは、色々試していたつもりなのですが、 上記は、失念していたようです。失礼いたしました。 本当にありがとうございます。感謝にたえません。<(_@_)> 重ね重ね御礼申し上げます。

その他の回答 (2)

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.2

http://www.google.com/search?hl=ja&q=%22didReceiveResponse%22 NSDictionary に渡してるみたいだけどちょっと見てみると NSData(mutableだとおもうけど)で受け取ってる物も見受けられるけどやってみた?

tommwo
質問者

お礼

度々ありがとうございます。<(_@_)> 同期通信だと、NSDataでも受取れるようですね。。。 ただ、今回の場合、非同期で行う必要があり、かつ以下のコードにおいて、 NSDictionary *dic = [(NSHTTPURLResponse *)response allHeaderFields]; allHeaderFields というメソッドの戻り値の型が、NSDictionary* であり、 その型でしか受取れないというのが、現状です。。。

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

http://www.google.com/search?hl=ja&q=%22nsdata%22%20shift_jis%20%E5%A4%89%E6%8F%9B どうやら NSString の dataUsingEncoding ってので変換が要るみたい

tommwo
質問者

お礼

早速のご回答ありがとうございます。 ご教示頂いたページを参考に試してみましたが、 やはり正しいと思われるバイト列が返ってきません。 1:NSString* str = [dic objectForKey:@"Icy-Name"]; 2:NSData* sjisData = [str dataUsingEncoding:NSShiftJISStringEncoding allowLossyConversion:YES]; 1の段階の str に、既に x00 が補填されたShift-Jis文字列が返されているため、 sjisData には、解析不能なバイト列が返されます。(T^T)

関連するQ&A