失礼します。
windows8.1でmysql5.1を使用しています。
現在、mysqlでutf8の設定ができずに困っています。
症状としては、
・データベース作成時点でutf8を指定、set names utf8を実行した状態で
insert文で日本語を含むデータを入れようとしたところ、日本語のデータを追加しようとしたカラムのみエラーが出る。
・chcp 65001を指定した状態でmysqlを起動(?実行?)してinsert文でデータを追加しようとしたところ、
そもそも日本語入力ができない。
・mysqlを起動(?実行?)しない状態でchcpコマンドを実行すると932(たぶんsjis)と表示される。
・my.cnfが存在しない
以上の4点となります。
3つ目の症状より、デフォルトの文字コードがsjisになっているのではないかと考えているので、my.cnfの設定を変更しようと思ったのですが、cドライブからmy.cnfを検索しても出てこないのでおそらく存在しません。
調べてみたところどうやら自分で作ればいいらしいのですが、mysql5.1のサンプルコードが見つからなかったのもあり、どこに作ればいいのか、記述はどうしたらいいのかが分からず困っています。
utf8の設定をすることができないので、この状況を打開するためにまずmy.cnfを作るところから始めるとは思うのですが、どこにどう作ったらよいでしょうか?
適応されているかの確認です。
lang
1mysql> show variables like 'char%'; 2+--------------------------+---------------------------------------------------------------+ 3| Variable_name | Value | 4+--------------------------+---------------------------------------------------------------+ 5| character_set_client | utf8 | 6| character_set_connection | utf8 | 7| character_set_database | utf8 | 8| character_set_filesystem | binary | 9| character_set_results | utf8 | 10| character_set_server | utf8 | 11| character_set_system | utf8 | 12| character_sets_dir | C:\Program Files (x86)\MySQL\MySQL Server 5.1\share\charsets\ | 13+--------------------------+---------------------------------------------------------------+ 148 rows in set (0.00 sec)
続いてはinsert文で日本語のデータを入れようとした結果です。
lang
1mysql> insert into goods values 2 -> (1,'りんご',200),(2,'みかん',100); 3ERROR 1366 (HY000): Incorrect string value: '\x82\xE8\x82\xF1\x82\xB2' for column 'name' at row 1
my.iniを編集する前も全く同じエラーになっていました。
phpでinsert文も試しましたが、utf8をset namesで指定すると文字化け、sjisだと日本語で表示されました。
my.iniはMySQL Server 5.1の直下にあります。
使用しているエディタはSublime Textで、上書き保存をするときに「エンコードを指定して上書き保存」でUTF-8を選択して保存しています。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。