移行後メンバーリストを見たところ、マルチバイトで登録したメンバー名が文字化けしているケースが散見されます。これらについても、近日中に復旧作業を行う計画です。ただし、復旧が出来ないばあいも考えられますので、その場合はユーザ名をこちらで一度変更させていただく、あるいは新規ユーザ登録をお願いするなどの措置を取らせていただく場合があります。
この件についてご意見ございましたら、こちらにご返信いただければと思います。
マルチバイトで登録したメンバー名が文字化けしているケース
モデレータ: Forum Moderators
Re: マルチバイトで登録したメンバー名が文字化けしているケース
>マルチバイトで登録したメンバー名が文字化けしているケースが散見されます。
>これらについても、近日中に復旧作業を行う計画です。
ぜひ、お願いします。
>ただし、復旧が出来ないばあいも考えられますので、
>その場合はユーザ名をこちらで一度変更させていただく、
>あるいは新規ユーザ登録をお願いするなどの措置を取らせていただく場合があります。
旧サーバと新サーバで同じユーザの方で有るなら、問題ないと思います。
新サーバで、その部分の処置が有るのなら・・・
旧サーバの2バイトユーザをロックしてしまう処置でも・・・
ただ、トピックに出る以外のユーザデータは消去して欲しいかも・・・編集不能だし(^^;
投稿数のカウントが、どうこう言うユーザさんがいなければOKだと思います。
一番の問題児??からの回答です。
>これらについても、近日中に復旧作業を行う計画です。
ぜひ、お願いします。
>ただし、復旧が出来ないばあいも考えられますので、
>その場合はユーザ名をこちらで一度変更させていただく、
>あるいは新規ユーザ登録をお願いするなどの措置を取らせていただく場合があります。
旧サーバと新サーバで同じユーザの方で有るなら、問題ないと思います。
新サーバで、その部分の処置が有るのなら・・・
旧サーバの2バイトユーザをロックしてしまう処置でも・・・
ただ、トピックに出る以外のユーザデータは消去して欲しいかも・・・編集不能だし(^^;
投稿数のカウントが、どうこう言うユーザさんがいなければOKだと思います。
一番の問題児??からの回答です。
Re: マルチバイトで登録したメンバー名が文字化けしているケース
前テーブルデータを一括でバックアップしたら、*_topics テーブルあたりでマルチバイト文字の途中で切れているフィールドを含むデータがあり、その箇所以降すべてマルチバイト文字が文字化けしてしまった。ユーザ情報は *_users テーブルで、*_topics テーブルより後に出力される箇所だから文字化け対象になっていた。
そんな事情じゃないかと勝手に想像します。
# 時刻表示文字化けの件も、ユーザ情報中に各ユーザの設定として出力書式が定義されているから、一緒に文字化けしたのでしょう。
# 文字化けしているフィールドは先に修正した方がよいと推奨していた理由はこれ
ちなみにこのトピックのマルチバイト文字の途中で切れているフィールドができるのは古い mysql を使っているサーバでデフォルトの phpbb をそのまま使うと発生します。
古い mysql では char フィールド長が文字数じゃなくてバイト単位であり、デフォルト phpbb のテーブルスキーマで定義されているフィールド長をそのままで使うとデータ長が足りず、場合によっては文字の途中で切れるからです。データ長を長くするか、どのバージョンからか忘れましたがマルチバイト文字対応がなされている新しいバージョンの mysql を使うか、phpbb がわで事前チェック処理を追加するかいずれかの対策が必要です。phpBB++ は一応テーブルスキーマ変えてデータ長長くしていますが、新規インストールではなくデータベースを引き継ぐ場合にテーブルスキーマを書き換えるツールは用意していないので、手動でスキーマの書き換えが必要です。
まだなら新データベースもテーブルのスキーマを要再確認。
PM が引き継がれないこと、自分の投稿を検索できないこと、その他いろいろ問題ありです。
旧フォーラムのデータがそのまま残っている限り、ユーザデータテーブルから ユーザ ID と ユーザ名(その他時刻設定、署名とかマルチバイト文字を含むフィールド)を抜き出し、文字コードを変換し、現フォーラムのユーザデータテーブルにユーザ ID に対応する名前を上書きさせればよいはずです。
# 必要なフィールドだけ書き換えて、投稿数その他文字化けしないフィールドは上書きしないこと。
すべて無条件に一括処理すると、フォーラム移行後に一部設定(よくあるのは署名)だけを修正した非マルチバイト名ユーザの設定まで戻されるので、その辺はちょっと注意が必要かもしれないですが、そこはそれほど致命的じゃない。
そんな事情じゃないかと勝手に想像します。
# 時刻表示文字化けの件も、ユーザ情報中に各ユーザの設定として出力書式が定義されているから、一緒に文字化けしたのでしょう。
# 文字化けしているフィールドは先に修正した方がよいと推奨していた理由はこれ
ちなみにこのトピックのマルチバイト文字の途中で切れているフィールドができるのは古い mysql を使っているサーバでデフォルトの phpbb をそのまま使うと発生します。
古い mysql では char フィールド長が文字数じゃなくてバイト単位であり、デフォルト phpbb のテーブルスキーマで定義されているフィールド長をそのままで使うとデータ長が足りず、場合によっては文字の途中で切れるからです。データ長を長くするか、どのバージョンからか忘れましたがマルチバイト文字対応がなされている新しいバージョンの mysql を使うか、phpbb がわで事前チェック処理を追加するかいずれかの対策が必要です。phpBB++ は一応テーブルスキーマ変えてデータ長長くしていますが、新規インストールではなくデータベースを引き継ぐ場合にテーブルスキーマを書き換えるツールは用意していないので、手動でスキーマの書き換えが必要です。
まだなら新データベースもテーブルのスキーマを要再確認。
はらだ さんが書きました:投稿数のカウントが、どうこう言うユーザさんがいなければOKだと思います。
一番の問題児??からの回答です。
PM が引き継がれないこと、自分の投稿を検索できないこと、その他いろいろ問題ありです。
旧フォーラムのデータがそのまま残っている限り、ユーザデータテーブルから ユーザ ID と ユーザ名(その他時刻設定、署名とかマルチバイト文字を含むフィールド)を抜き出し、文字コードを変換し、現フォーラムのユーザデータテーブルにユーザ ID に対応する名前を上書きさせればよいはずです。
# 必要なフィールドだけ書き換えて、投稿数その他文字化けしないフィールドは上書きしないこと。
すべて無条件に一括処理すると、フォーラム移行後に一部設定(よくあるのは署名)だけを修正した非マルチバイト名ユーザの設定まで戻されるので、その辺はちょっと注意が必要かもしれないですが、そこはそれほど致命的じゃない。
dynamis@誤操作でアカウントつくり損ねた