MySQL5の文字化けについて(Linux)
MySQL5の文字化けについて
linuxもデータベースも初級の素人です。
my.iniをデフォルトのままwindowsからTeraTermでサーバに接続し
SQLを発行していたのですが、そのときは日本語が文字化けしませんでした。
しかしphpmyadminを利用しようとmy.iniを変更すると、変更したが為に日本語文字化けするようになってしまいました。
修正後はMySQLは再起動しており、再起動後、新たにテーブルを作成し、
データの挿入をしてテストしています。それでもうまくいきません。
修正後のmy.iniのどこがおかしいのでしょうか?
[サーババージョン]
OS:CentOS5.4 (OSの文字コード:UTF-8のまま変更なし)
MySQL5.0.77
[テスト環境]
windowsマシンからTeraTermProでログイン
・TeraTermの設定:文字コード送受信ともに「UFT-8」を指定
****************** [ 変更前のmy.ini ] ***********************
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
user=mysql
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
***************************************************************
****************** [ 変更後のmy.ini ] ***********************
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
default-character-set=utf8
init-connect=SET NAMES utf8 (←これがいるのがよく分からない)
skip-character-set-client-handshake
[mysql.server]
user=mysql
basedir=/var/lib
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql]
default-character-set=utf8
[mysqldump]
default-character-set=utf8
[client] ← (これもいるのかよく分からない)
default-character-set=utf8
*************************************************************
********* TeraTermで接続しSQLを発行したときのSQL文 **********
mysql> create table
account
(ID integer primary key,
NAME varchar(100),
MONEY varchar(100)
);
mysql> insert into
account
values
(1,'ボブ',1000),
(2,'パトリック',2000),
(3,'サンディー',3000),
(4,'イカルト',4000)
;
*************************************************************
かなりテンパってます。。
よろしくお願いします。
お礼
どうもありがとうございました。
補足
早速のご連絡有難う御座います。 上記全て自分なりに検索して見つけたのですが、全くだめでした。 http://fedorasrv.com/bbshtml/webpatio/329.shtml 上記を参考にしたのですが、私の環境で root@linux root]# vi /etc/init.d/mysqld を実行しても下記の二箇所の項目が見当たりません。 [root@linux root]# vi /etc/init.d/mysqld ← MySQL起動スクリプト修正 ping="/usr/bin/mysqladmin -uUNKNOWN_MYSQL_USER ping" ↓ ping="/usr/bin/mysqladmin -u root -prootパスワード ping" ← MySQL起動確認用ユーザを匿名ユーザからrootユーザへ変更 if [ -n "`/usr/bin/mysqladmin -u root -prootのパスワード ping 2> /dev/null`" ]; then if !([ -n "`/usr/bin/mysqladmin -u root -prootのパスワード ping 2> /dev/null`" ]); then ======================== 後1つ気になるのが、ステータス表示です。 /etc/rc.d/init.d/mysqld status を実行すると mysqld dead but subsys locked となっています。 本当に困っています。 どうかよろしくお願い申し上げます。