文字列の文字コードを変えてくれる関数のmb_convert_encodingですが、若干挙動不審な所もあり。

サーバーのPHPのバージョンが古いからかもしれないので、本当は懸念事項ではないかもしれないけど、一応メモ。

現在発生しているのは、mb_convert_encoding($value,’SJIS’,'auto’);
で変換文字列がUTF-8の場合、たいていはうまくいくが、たまに文字化けがおこる。

今回はXMLをパースする途中で起きたことで、XML吐き出しをしているときにUTF-8に変換(mb_convert_encoding($value,’UTF-8′,’auto’);)しているので、表示する際にShift_jisにしたい場合は直接、mb_convert_encoding($value,’SJIS’,'UTF-8′);として変換してあげるのが安全っぽい。

どうやら、UTF-8->Shift_jisの変換で自動変換だと途中でこける可能性がある。

ツイートツイート

Related posts:

  1. PHP+XMLメモ
  2. XMLをパースしてRSSを表示!
  3. お仕事進まず。
  4. PHPでOOP
  5. XML_RPCのリクエストとレスポンスに関するメモ

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

   
© 2011 LEGGODT.COM Suffusion theme by Sayontan Sinha