こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

MySQL文字化け対応

 こんにちは。
1つ教えて頂けないでしょうか。

XAMPP1.8.2をダウンロードしてphpMyAdminを使用し1つテーブルを作成しました。
列のデータ型は4列全てvarchar(255)です。そこにCSVのUTF-8+CRLFで保存したデータを
インポートすると日本語の項目列(4列目)が文字化けしてしまいます。また1行目の1列目の
項目に不要な文字化けした文字が付いてしまっています。

php.iniの変更
mbstring.internal_encoding = UTF-8
mbstring.http_output = UTF-8
mbstring.encoding_translation = On

mysql\binのmy.iniの変更
init-connect=\'SET NAMES utf8\'
collation_server=utf8_unicode_ci
character_set_server=utf8

テーブルの照合順序をutf8_general_ciに変更

以上の変更を行っても文字化けしてしまいます。
まだ他に変更しなければならないところがあるのでしょうか?

分かる方おられましたら、教えて頂けないでしょうか。
よろしくお願いします。

投稿日時 - 2017-11-23 11:51:11

QNo.9400393

困ってます

質問者が選んだベストアンサー

> テーブルは操作を開きutf8-general-ciにしました。
utf8-general-ci は照合順序の事で文字コードではありません。
collation ではなく charset をまず確認しましょう。

投稿日時 - 2017-11-23 15:47:58

補足

回答ありがとうございます。

午前中はphpAdminに入れていたのですが、午後からは
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\phpMyAdmin\libraries\PMA.php on line 10
のエラーが表示されて接続できない状態になってしまいました。
何度も再インストールしたり、php.iniのmax_execution_timeを120に変更
していますが改善されない状態です。

charsetを確認したいのですが、まずこのエラーを解消しなければなりません。

投稿日時 - 2017-11-23 16:25:32

お礼

何度も回答ありがとうございます。
Fatal errorが改善されない場合、最悪別のパソコンを探し実行したいのです。

今一度お聞きしたいのですが、「 charset をまず確認」とありますが
これはSHOW VARIABLES LIKE 'char%' を実行し、utf8になっていないものがあれば my.iniにcharacter-set-server = utf8を追加する事でしょうか?

大変申し訳ありません、どうぞ宜しくお願いします。

投稿日時 - 2017-11-23 16:55:22

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(2)

ANo.1

テーブルの文字コードは何になっていますか?
それと、CSVのインポートは何を使って行いましたか?

投稿日時 - 2017-11-23 12:44:11

補足

ありがとうございます。
テーブルは操作を開きutf8-general-ciにしました。
また、インポートはphpmyadiminのインポートツールで
CSVを参照で選択し、utf-8 CSV LOADDATA カンマ区切りで
インポートしました。
その後、テーブル、表示で確認すると文字化けしています。

対応方法を教えて頂けないでしょうか。
どうぞよろしくお願いします。

投稿日時 - 2017-11-23 13:11:01

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-