文字化け対策しました
2006/06/21
開発情報
ゲーマーSNS内の日記やコメントなどで、全角チルダ「〜」、全角ハイフン「−」などを入力すると、「?」に文字化けしてしまうバグがありました。
文字化け対策をするためにいろいろと情報を集めていましたが、なかなか修正することができませんでした。
「〜」、「−」などの文字が入力できなくてご迷惑をおかけしましたが、ゲーマーSNS運営コミュにてみなさんの協力を得て修正することができました。
今後は、「〜」、「−」などの文字も問題なく入力できますので、気兼ねなくご利用ください。
また何かしらのバグが見つかったときには、コミュニティの方にバグ報告をしてくだされば、今後も対応していきたいと思います。
以下は、文字化け対策のメモです。
検索エンジンで検索しても似たようなバグは見つけられませんでした。
MySQL4.1はなかなか文字コードの問題が多いようで、
my.cnfに元々init-connectやdefault-character-setを設定してあったため、解決法は見つかりませんでした。
文字化け時、PHP(途中4.3から5.1にアップデート)の設定は以下のようにしていました。
MySQL(4.1)の設定は以下のようにしていました。
PHP、MySQL、OpenPNEの設定を何度も見返しても対策方法が見つからず困っていました。
結局問題となっていたのは、データベースのテーブル作成時にデフォルトキャラセットを設定しなかったためで、UTF8で運用するにもかかわらずテーブル自体がEUC-JPで作成されていたことがバグの原因でした。
したがって、データベーステーブルのtextやcharaのカラムをEUC-JPからUTF8に変更することで文字化け対策しました。
文字化け対策をするためにいろいろと情報を集めていましたが、なかなか修正することができませんでした。
「〜」、「−」などの文字が入力できなくてご迷惑をおかけしましたが、ゲーマー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に変更することで文字化け対策しました。
ブログ[ゲーマーSNS公式ブログ]全体の前後の記事
- 2006/07/07 - YouTube動画貼り付けコマンド
- 2006/07/05 - OpenPNE v2.2.1にバージョンアップ
- 2006/06/21 - 文字化け対策しました (現在の記事)
- 2006/06/14 - あしあとちょう、ゲストブック、掲示板などの作り方
- 2006/06/13 - ゲーマーSNS会員200人突破!
カテゴリ[開発情報]内の前後の記事
- 2006/10/21 - OpenPNE v2.4.2にバージョンアップ
- 2006/07/05 - OpenPNE v2.2.1にバージョンアップ
- 2006/06/21 - 文字化け対策しました (現在の記事)
- 2006/06/10 - eacceleratorを導入
- 2006/06/08 - Zend Optimizerインストール
トラックバック
この記事へのトラックバックURL:(受信したトラックバックは管理人承認後に表示されます)コメント
このアイテムは閉鎖されました。このアイテムへのコメントの追加、投票はできません。