• カテゴリ お決まりのパターン の最新配信
  • RSS
  • RDF
  • ATOM

ブログ - UTF-8変換時の問題 (d3forum)

UTF-8変換時の問題 (d3forum)

カテゴリ : 
Customize/Hackメモ » お決まりのパターン
執筆 : 
masa 2011/5/21
EUCからUTF-8へ変換したサイトの pico で以下のワーニングが発生した。


Warning: array_reverse() [function.array-reverse]: The argument should be an array
 in /.../modules/d3forum/include/process_this_category.inc.php on line 51
 
Warning: Invalid argument supplied for foreach()
 in /.../modules/d3forum/include/process_this_category.inc.php on line 51
d3forum のコメントを表示している部分のようだ。
ソースで確認すると
xxx_d3forum_categories テーブルの cat_path_in_tree
をシリアライズした結果が正しく配列になっていないということのようだ...

シリアライズされた文字列は

a:1:{i:1;s:16:"ゲスト用カテゴリ";}

のようになっており、文字列のバイト長がEUCとUTF-8では異なるからだと思われる。

管理画面からd3forumのカテゴリー権限を開き、カテゴリの「編集」で開かれたカテゴリ管理画面から、そのまま「送信」で更新することで直った。

シリアライズされた文字列は

a:1:{i:1;s:24:"ゲスト用カテゴリ";}

のようになった。


シリアライズに起因する同様の問題では d3download の一般設定にもあるかも...
これも一般設定を開いて保存し直す。
この場合、以前の設定値が失われている(表示されない)かもしれない。
今回の場合「サイトへのダイレクトリンク」の内容が空になっていた。
日本語ではなかったのだが...


それにしてもPHPデバッグOFFなのにワーニングが表示されるのはなぜだろう?
あー、何かこの問題は前にもあったような気がする...
  • トラックバック (0)
  • 閲覧 (8865)