mysql文字セットを変更します.


(1)最も簡単な修正方法はmysqlのmyを修正することである.iniファイルの文字セットキー値、
例えばdefault-character-set=utf 8 character_set_server = utf8
変更後、mysqlのサービスを再起動し、サービスmysql restart
mysql>SHOW VARIABLES LIKE'character%'を使用します.データベース符号化がutf 8に変更されたことがわかりました
mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+---------------------------------+   
| 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 | D:"mysql-5.0.37"share"charsets" |   
+--------------------------+---------------------------------+

(2)mysqlのデフォルト文字セットを変更する方法もあります.mysqlのコマンドを使用します.
mysql> SET character_set_client = utf8 ; 
mysql> SET character_set_connection = utf8 ; 
mysql> SET character_set_database = utf8 ;
mysql> SET character_set_results = utf8 ; 
mysql> SET character_set_server = utf8 ;
mysql> SET collation_connection = utf8 ;
mysql> SET collation_database = utf8 ;
mysql> SET collation_server = utf8 ;

一般的に、テーブルのmysqlのデフォルト文字セットがutf 8に設定され、UTF-8符号化によってクエリーが送信されても、データベースに格納されている文字が文字化されていないことがわかります.問題はこのconnection接続レイヤにあります.解決策は、クエリーを送信する前に、次の文を実行します.
SET NAMES 'utf8';

次の3つの命令に相当します.
SET character_set_client = utf8;  
SET character_set_results = utf8;   
SET character_set_connection = utf8;