前テーブルデータを一括でバックアップしたら、*_topics テーブルあたりでマルチバイト文字の途中で切れているフィールドを含むデータがあり、その箇所以降すべてマルチバイト文字が文字化けしてしまった。ユーザ情報は *_users テーブルで、*_topics テーブルより後に出力される箇所だから文字化け対象になっていた。
そんな事情じゃないかと勝手に想像します。
# 時刻表示文字化けの件も、ユーザ情報中に各ユーザの設定として出力書式が定義されているから、一緒に文字化けしたのでしょう。
# 文字化けしているフィールドは先に修正した方がよいと推奨していた理由はこれ
ちなみにこのトピックのマルチバイト文字の途中で切れているフィールドができるのは古い mysql を使っているサーバでデフォルトの phpbb をそのまま使うと発生します。
古い mysql では char フィールド長が文字数じゃなくてバイト単位であり、デフォルト phpbb のテーブルスキーマで定義されているフィールド長をそのままで使うとデータ長が足りず、場合によっては文字の途中で切れるからです。データ長を長くするか、どのバージョンからか忘れましたがマルチバイト文字対応がなされている新しいバージョンの mysql を使うか、phpbb がわで事前チェック処理を追加するかいずれかの対策が必要です。phpBB++ は一応テーブルスキーマ変えてデータ長長くしていますが、新規インストールではなくデータベースを引き継ぐ場合にテーブルスキーマを書き換えるツールは用意していないので、手動でスキーマの書き換えが必要です。
まだなら新データベースもテーブルのスキーマを要再確認。
はらだ さんが書きました:
投稿数のカウントが、どうこう言うユーザさんがいなければOKだと思います。
一番の問題児??からの回答です。
PM が引き継がれないこと、自分の投稿を検索できないこと、その他いろいろ問題ありです。
旧フォーラムのデータがそのまま残っている限り、ユーザデータテーブルから ユーザ ID と ユーザ名(その他時刻設定、署名とかマルチバイト文字を含むフィールド)を抜き出し、文字コードを変換し、現フォーラムのユーザデータテーブルにユーザ ID に対応する名前を上書きさせればよいはずです。
# 必要なフィールドだけ書き換えて、投稿数その他文字化けしないフィールドは上書きしないこと。
すべて無条件に一括処理すると、フォーラム移行後に一部設定(よくあるのは署名)だけを修正した非マルチバイト名ユーザの設定まで戻されるので、その辺はちょっと注意が必要かもしれないですが、そこはそれほど致命的じゃない。