1: 2010-01-09 (土) 14:41:15 admin |
現: 2019-08-23 (金) 23:27:53 iseki |
| + | *** utf8mb4 [#i644bfc1] |
| + | - さらに utf8mb4 というのもある. |
| + | #br |
| *** 作成時に文字コードを指定 [#v3d64d11] | | *** 作成時に文字コードを指定 [#v3d64d11] |
- | mysql> create database db_name default character set utf8; | + | mysql> CREATE DATABASE db_name DEFAULT CHARACTER SET utf8; |
| + | mysql> CREATE TABLE table_name (......) TYPE=MyISAM DEFAULT CHARSET=utf8; |
| | | |
| *** 設定ファイルで文字コードを指定 [#ge06ab12] | | *** 設定ファイルで文字コードを指定 [#ge06ab12] |
- | - /etc/my.conf | + | - /etc/my.cnf |
| [mysql] | | [mysql] |
| default-character-set=utf8 | | default-character-set=utf8 |
- | | |
| [mysqld] | | [mysqld] |
| default-character-set=utf8 | | default-character-set=utf8 |
- | datadir=/var/mysql | + | skip-character-set-client-handshake |
- | #socket=/var/mysql/mysql.sock | + | |
- | user=mysql | + | |
- | # Default to using old password format for compatibility with mysql 3.x | + | |
- | # clients (those using the mysqlclient10 compatibility package). | + | |
- | old_passwords=1 | + | |
| [mysqld_safe] | | [mysqld_safe] |
- | log-error=/var/log/mysqld.log | + | default-character-set=utf8 |
- | pid-file=/var/mysql/mysqld.pid | + | skip-character-set-client-handshake |
| + | - check |
| + | mysql> show variables like "char%"; |
| + | #br |
| + | |
| + | *** 一時的に文字コードを変更 [#hc3135f7] |
| + | mysql> show variables like "char%"; |
| + | +--------------------------+-----------------------------------------------+ |
| + | | Variable_name | Value | |
| + | +--------------------------+-----------------------------------------------+ |
| + | | character_set_client | latin1 | |
| + | | character_set_connection | latin1 | |
| + | | character_set_database | latin1 | |
| + | | character_set_filesystem | binary | |
| + | | character_set_results | latin1 | |
| + | | character_set_server | latin1 | |
| + | | character_set_system | utf8 | |
| + | | character_sets_dir | /usr/local/mysql-5.0.67/share/mysql/charsets/ | |
| + | +--------------------------+-----------------------------------------------+ |
| + | この場合は latin1 を utf8にする |
| + | 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> 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/local/mysql-5.0.67/share/mysql/charsets/ | |
| + | +--------------------------+-----------------------------------------------+ |
| + | |
| + | *** MySQL on PHP [#o6c947b0] |
| + | - 処理中の文字コードを UTF-8にする場合 |
| + | mb_internal_encoding("utf-8"); |
| + | mysql_set_charset('utf8'); |
| + | または |
| + | mb_internal_encoding("utf-8"); |
| + | mysql_query("SET NAMES utf8", $db); |
| + | |
| + | - mb_internal_encoding("utf-8") は php.ini でも指定可能. |
| + | - SET NAMES utf8 でクエリの文字コードを指定可能. |
| + | #br |