PHPExcelでセルに日本語を出力するとき、一部の文字が出力できなくて空になる問題

現象

PHPExcelでExcel2007形式を扱うとき、setCellValueで「お」やその他特定の文字を含む文字列を設定するとセルが空になる、という現象に遭遇した。
問題ある文字が含まれていなければ、普通にセルに日本語を出力することはできる。

原因

php.iniで「default_charset="Shift_JIS"」に設定されていたこと。

対策

「ini_set("default_charset", "UTF-8");」を読んでプログラム側でini設定を一時的に変更してやることで、正常に動作するようになる。
当然php.iniで「default_charset="UFT-8"」に設定してもよい。