ゲーマーSNS内の日記やコメントなどで、全角チルダ「〜」、全角ハイフン「−」などを入力すると、「?」に文字化けしてしまうバグがありました。
文字化け対策をするためにいろいろと情報を集めていましたが、なかなか修正することができませんでした。
「〜」、「−」などの文字が入力できなくてご迷惑をおかけしましたが、ゲーマーSNS運営コミュにてみなさんの協力を得て修正することができました。

今後は、「〜」、「−」などの文字も問題なく入力できますので、気兼ねなくご利用ください。
また何かしらのバグが見つかったときには、コミュニティの方にバグ報告をしてくだされば、今後も対応していきたいと思います。


以下は、文字化け対策のメモです。

検索エンジンで検索しても似たようなバグは見つけられませんでした。
MySQL4.1はなかなか文字コードの問題が多いようで、
my.cnfに元々init-connectやdefault-character-setを設定してあったため、解決法は見つかりませんでした。


文字化け時、PHP(途中4.3から5.1にアップデート)の設定は以下のようにしていました。
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none;

MySQL(4.1)の設定は以下のようにしていました。
Server characterset: ujis
Db characterset: ujis
Client characterset: ujis
Conn. characterset: ujis

+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | ujis |
| character_set_connection | ujis |
| character_set_database | ujis |
| character_set_results | ujis |
| character_set_server | ujis |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

PHP、MySQL、OpenPNEの設定を何度も見返しても対策方法が見つからず困っていました。

結局問題となっていたのは、データベースのテーブル作成時にデフォルトキャラセットを設定しなかったためで、UTF8で運用するにもかかわらずテーブル自体がEUC-JPで作成されていたことがバグの原因でした。

したがって、データベーステーブルのtextやcharaのカラムをEUC-JPからUTF8に変更することで文字化け対策しました。