MySQL - Linux環境のWebサイトでの文字化けおよびその解決方法
2011/04/08 17:41Update
Windows環境でうまく行ったのに、Linux環境で文字化けてしまう場合の対処方法です。
まずは、次の記事をご覧になってください
初めてのMySQLの実行 - 最低限のやらないといけないこと
Java Webアプリ開発における文字化け対策 - 概要
Java Webアプリ開発における日本語パラメータの文字化け対策
1)MySQLが採用する文字コードの確認
例:
2)文字コードを統一する(たとえば、utf8に)
これで、データベース原因の文字化けがなくなります。
初めてのMySQLの実行 - 最低限のやらないといけないこと
Java Webアプリ開発における文字化け対策 - 概要
Java Webアプリ開発における日本語パラメータの文字化け対策
1)MySQLが採用する文字コードの確認
例:
mysql> STATUS
--------------
Connection id: 199057
Current database:
Current user: xxxx
SSL: Not in use
Current pager: less
Using outfile: ''
Using delimiter: ;
Server version: x.y.z
Protocol version: xxxx
Connection: xxxx
Server characterset: utf8
Db characterset: utf8
Client characterset: latin1
Conn. characterset: latin1
UNIX socket: xxxx
mysql> SHOW VARIABLES LIKE 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
--------------
Connection id: 199057
Current database:
Current user: xxxx
SSL: Not in use
Current pager: less
Using outfile: ''
Using delimiter: ;
Server version: x.y.z
Protocol version: xxxx
Connection: xxxx
Server characterset: utf8
Db characterset: utf8
Client characterset: latin1
Conn. characterset: latin1
UNIX socket: xxxx
mysql> SHOW VARIABLES LIKE 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
2)文字コードを統一する(たとえば、utf8に)
mysql> set names utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW VARIABLES LIKE 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
mysql>
※utf8を適当な文字コードに変更してください。Query OK, 0 rows affected (0.00 sec)
mysql> SHOW VARIABLES LIKE 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
mysql>
これで、データベース原因の文字化けがなくなります。
Sponsored Link
Comments
- Relative Articles
- SQL入門その15 - テーブルの列名の変更 - (2009/03/16 11:16)
- MySQL/Oracleなどのデータベースのページング処理 - (2009/09/08 18:29)
- OralceやMySQLなどのデータベースの索引(インデックス)を削除する例 - (2010/08/02 17:45)
- データベースチューニング - (2008/07/11 15:54)
- MySQLチューニングを行うためのログ解析ツール - (2008/10/10 00:27)
- MySQLクイック・リファレンス - (2008/12/24 20:41)
- MySQL RSSで最新ニュース・情報 - (2009/02/26 14:09)
- MySQL初心者入門講座「mysqlweb.net」 - (2009/02/26 14:14)
- MySQL4.1 リファレンス・マニュアル「公式日本語版」 - (2009/02/26 14:27)
- MySQL5.1 リファレンス・マニュアル「公式日本語版」 - (2009/02/26 14:29)