tohokuaikiのチラシの裏

技術的ネタとか。

mb_convert_encodingがUTF16を扱うと文字列を壊す件

旧聞で恐縮ですが、自分用まとめメモ。

2009/6/7

UTF-16(BOM 付き Little Endian) を mb_convert_encoding() で変換すると文字列が壊れる - t_komuraの日記
にて、komuraさんからの報告。

2009/8/16

komuraさんがPHP-JapanのPHP-devで投稿
PHP-dev - [PHP-dev 1488] mbstring の文字列変換、文字エンコーディング検出の関連の問題について

2009/9/11

mbstringerといえばこの方moriyoshiさん。パッチをPHP本体に投稿
https://bugs.php.net/bug.php?id=49528

[2009-09-23 14:27 UTC] moriyoshi@php.net

ということで、この日以降のリリースは直っていることになる。

UTF16が影響なく使えるバージョンは・・・

http://www.php.net/releases/
から

  • 5.2.12(Released: 17 December 2009)以降のPHP5.2
  • 5.3.1(Released: 19 Nov 2009)以降のPHP5.3

ということになる。PHP5.3.0はN.Gなので注意。