ホーム > 開発 > MySQLの文字コード管理

MySQLの文字コード管理

MySQLのテーブル管理用にphpMyAdminを導入してみたのですが、このblogと某所の掲示板のレコードが文字化けしています。
最初はphpMyAdminの問題かと思ったのですが、よくよくテーブル情報を確認すると、文字コードがlatain1になっていました。
実はlatain1のテーブルにutf8のデータが入った状態になっていて、Wordpressと某所の掲示板はMySQL接続時に文字コードを指定していなかったために、偶然動いていた状態でした。
以前NeoOfficeから接続した時にJDBC接続で文字化けが起こり、ODBC接続で正常に接続できた事があったのですが、あれもたぶん、勘違いを突き進んでいたと思われます。
ヘボすぎるorz

試行錯誤の末、テーブルを文字コードにbinaryを指定してダンプしておき、データベースを文字コードにutf8を指定して作り直してから、ダンプしたファイルを文字コードにbinaryを指定してインポートし直す事で正常な状態になりました。

これでphpMyAdminは文字化けを起こさなくなりましたが、今度はWordpressと某所の掲示板が文字化けを起こしました。
幸いWordpress2.2以降には文字コードを指定する設定があり、掲示板のスクリプトも接続後にSET NAMES文を投げるように修正する事で文字化けが収まりました。

MySQL 4.0がリリースされた頃に、日本語のトラブルを色々耳にしたのですが、ようやく理解できたご様子(^_^;;

広告
カテゴリー:開発
  1. まだコメントはありません。
  1. No trackbacks yet.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。