忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2024/11/22 19:03 |
XAMPPのmy.cnfが無くなった?

XAMPP1.7.1を入れたのですが、デフォルト状態だといつものように文字化けが発生します。

"MYSQL 文字化け"でググるとmy.cnfが腐るほど出てくるわけですが、今回文字化けを直そうとmy.cnfを探すも何処にも見あたらない。
いつのまにか設定ファイルがC:\xampp\mysql\bin\my.iniになってました。
いつから変更になったのかよくわかりませんが、とりあえずこれでWindows環境でmy.cnfが見つからないという質問は無くなりそうですね。
まあmy.cnf自体が無くなってるのでやっぱり質問が増えるかもしれませんが。

ちなみに正しい設定ファイル置き場はコマンドプロンプトから
C:\xampp\mysql\bin>mysql -?
で見ることができます。

C:\WINDOWS\my.ini C:\WINDOWS\my.cnf C:\my.ini C:\my.cnf C:\xampp\mysql\my.ini C:\xampp\mysql\my.cnf
というふうになっていました。
前にあるのを優先して読むようなので、うっかり変なファイルがあったら動きがおかしくなったりします。

というわけでmy.iniを編集してみました。
とりあえず[mysqld]セクションに下記追加して文字化け解消。
character-set-server = utf8
collation-server = utf8_general_ci
init-connect=SET NAMES utf8


……と思ったが微妙にうまくいかない。
せっかく設定したcharacter-set-serverがMySQLを再起動するたびに効いたり効かなかったりするんだがなんだこれ。


さて、現在起動しているサービスから起動しているmysqlの状態を確認することができます。
C:\xampp\mysql\bin\mysqld.exe --defaults-file=c:\xampp\mysql\bin\my.cnf mysql

my.cnfなんて無いよ!
なんだよこの起動オプション。

インストール時にいつの間にやらこんな起動オプションが設定されてしまっていたみたいです。
これではせっかくのmy.iniが読み込まれてくれません。
仕方ないのでmy.iniをmy.cnfにコピペしたらあっさり文字化けが直った。

どうしてこうなった?

PR


2009/09/30 20:25 | Comments(2) | TrackBack() | PHP

トラックバック

トラックバックURL:

コメント

上記とまったく同じ状況に陥り必死でググリまくりました。
どこのページにもmy.cnfについては説明されているのですが・・・

私の環境でもmy.iniはあるのですがmy.cnfが見つからず・・・・

my.iniを設定しても起動するたびに「latin1」と表示され・・・どうしようか・・と悩んでいた所こちらのページにたどり着き、無事(あっさり)解決しました!!

結局、my.cnfを自分で作成しなくちゃいけないんですね?w
ありがとうございました。
なおりました!!!
posted by 通りすがり at 2010/08/16 16:55 [ コメントを修正する ]
お疲れ様でした。

おそらくやりたかったことは、
Windowsではmy.cnfを止めてmy.iniに統一したかったのだと思います。
.cnfの短縮ダイヤルは何故か「拡張子を表示する」設定を無視しやがるほどやたら強力でわかりにくいですし。

ただmysqlのサービス設定を更新し忘れていて、古いmy.cnfを読みに行ってしまって失敗なんてことになっていたのだと思われます。

きっと新しいバージョンではmy.iniを読めるようになっていることでしょう(もしくはmy.cnfが復活してるか)
posted by NurseAngel at 2010/08/16 22:30 [ コメントを修正する ]

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<ZF-03:Zend_Db_Select | HOME | CakePHP-02:CakePHP再挑戦続き>>
忍者ブログ[PR]