WinXPでxampp1.6.6aを使っています。
文字コードはutf8で設定したく説明しているサイトを探しmy.cnfを
下記のように修正および追加しました。
[client]
default-character-set = utf8
[mysqld]
skip-character-set-client-handshake
default-character-set = utf8
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set = utf8
phpadminから確認すると日本語も文字化けせずに表示されるのですが
なぜかコマンドから確認すると日本語が文字化けしてしまいます。
おなじような質問がありなんとかできるものかと思い確認したのですが
特に設定が間違っているようではなく解決策がみつかりません・・・
文字化けせずに表示させるためにはどうすればいのでしょうか?
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 | C:\Program Files\xampp\mysql\share\charsets\ |
+--------------------------+----------------------------------------------+
No.4ベストアンサー
- 回答日時:
特におかしいところは見当たりませんね。
同じようにDB、テーブルを作成し、phpMyAdminからデータを入れてみましたが、プロンプトから同様の手順で特に文字化けは見られませんでした。
となると、実データが無いのでこれ以上は解決策を見つけるのが難しいかなと思います。ですので、解決の参考になればと思うことを記載します。
・テーブルの中の実際に入っている値の文字コードがutr8か確認してみる。
select hex(CULUM_NAME) from car_table;
※文字コードがutf8か確認
・テーブルの中身をダンプして、エディタで確認し文字コードを調べる。
・コマンドプロンプトからDB、テーブルの作成でデータを入れて、phpMyAdminで見てみる。
他にもいろいろな方法があると思います。
力になれなくてすみません。
この回答への補足
何度も本当にありがとうございます。
訳もわからず悩んでいたので本当に感謝です!
phpmyadminでデータベースを作成後(照合順序はutf8_unicode_ci)
以下のsqlファイル(utf8で保存)をインポートしております。
CREATE TABLE car_table (
id int NOT NULL auto_increment,
maker varchar(10),
country varchar(10),
type varchar(10),
color varchar(10),
comment varchar(100),
PRIMARY KEY (id)
);
INSERT INTO car_table
(maker, country, type, color, comment)
VALUES('ベンツ', 'ドイツ', '4ドア', '黒', '新車同様');
INSERT INTO car_table
(maker, country, type, color, comment)
VALUES('ビーエム', 'ドイツ', '4ドア', '白', '車検切れ');
INSERT INTO car_table
(maker, country, type, color, comment)
VALUES('トヨタ', '日本', '4ドア', '赤', '新車');
INSERT INTO car_table
(maker, country, type, color, comment)
VALUES('日産', '日本', '4ドア', '白', '良好');
INSERT INTO car_table
(maker, country, type, color, comment)
VALUES('三菱', '日本', '2ドア', '黒', 'スタッドレス付き');
INSERT INTO car_table
(maker, country, type, color, comment)
VALUES('ホンダ', '日本', 'バイク', '赤', '新車同様');
INSERT INTO car_table
(maker, country, type, color, comment)
VALUES('ジャガー', 'イギリス', '4ドア', '白', '良好');
試しに文字コードを確認する方法試してみました。
mysql> select hex(color) from car_table;
+------------+
| hex(color) |
+------------+
| E9BB92 |
| E799BD |
| E8B5A4 |
| E799BD |
| E9BB92 |
| E8B5A4 |
| E799BD |
+------------+
7 rows in set (0.00 sec)
こんな感じで表示されたのですがなにかわかりますでしょうか?
原因がわからなかったので一度アンインストールし最新版の
1.6.7が出ていたのでそちらを入れて同じ設定をして試したところ
コマンドプロンプトでSET NAMES SJIS;を入れてやると日本語も
正常に表示されることが確認できました!
(SET NAMES SJIS;をいれないと文字化けしてます)
理由がわからないまま解決?してしまい複雑な感じですがおかげ様で
なんとか解決することができました。
以前にも原因がわからないトラブルがありその際も一度
アンインストールすることにより解決したので原因こそ謎なものの
なにかあるのでしょうね・・・w
No.3
- 回答日時:
まだなおりませんか。
。。念のため、下記の情報をいただけますか?
・MySQLのバージョン
・データベース構造
SHOW CREATE DATABASE DATABASE_NAME;
・テーブル構造
SHOW CREATE TABLE TABLE_NAME;
力になれるかわかりませんが、ヒントが見つかればと思います。
この回答への補足
何度もお返事頂きすみません^^;
データベース、テーブル共に名前はcar_tableです。
MySQL クライアントのバージョン: 5.0.51a
mysql> SET NAMES SJIS;
Query OK, 0 rows affected (0.02 sec)
mysql> USE car_table
Database changed
mysql> SHOW CREATE DATABASE car_table;
+-----------+-------------------------------------------------------------------
-------------------------+
| Database | Create Database
|
+-----------+-------------------------------------------------------------------
-------------------------+
| car_table | CREATE DATABASE `car_table` /*!40100 DEFAULT CHARACTER SET utf8 CO
LLATE utf8_unicode_ci */ |
+-----------+-------------------------------------------------------------------
-------------------------+
1 row in set (0.01 sec)
mysql> SHOW CREATE TABLE car_table;
+-----------+-------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-----+
| Table | Create Table
|
+-----------+-------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-----+
| car_table | CREATE TABLE `car_table` (
`id` int(11) NOT NULL auto_increment,
`maker` varchar(10) collate utf8_unicode_ci default NULL,
`country` varchar(10) collate utf8_unicode_ci default NULL,
`type` varchar(10) collate utf8_unicode_ci default NULL,
`color` varchar(10) collate utf8_unicode_ci default NULL,
`comment` varchar(100) collate utf8_unicode_ci default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
+-----------+-------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-----+
1 row in set (0.06 sec)
No.2
- 回答日時:
先ほど回答したものです。
ちゃんとした回答になっていなかったみたいですね。
ごめんなさい。
コマンドプロンプト側からクライアントキャラクタをセットします。
SET NAMES SJIS;
これで、MySQLが文字コードをクライアントキャラクタに合わせて変換してくれるので文字化けは解消されると思います。
この回答への補足
お返事ありがとうございます。
以下の手順で試してみたのですが文字化けが解消されませんでした^^;
mysql> SET NAMES SJIS;
Query OK, 0 rows affected (0.00 sec)
mysql> USE db //データベース(db)に入る
Database changed
mysql> SELECT * FROM table; //db内のテーブル(table)の内容を表示
データベース(db)はphpmyadminで作っており作成時の照合順序は
utf8_unicode_ciです。
No.1
- 回答日時:
こんにちは。
mysqlコマンドとは、Windowsのコマンドプロンプトだと思いますが、
Windowsのコマンドプロンプトは、取り扱っている文字コードがSjisなので、
文字化けはしてしまいます。
この回答への補足
お返事ありがとうございます。
>mysqlコマンドとは、Windowsのコマンドプロンプトだと思いますが
コマンドプロンプトのことです。略して書いてしまいすみません。
>Windowsのコマンドプロンプトは、取り扱っている文字コードがSjisなので、
だからコマンドプロンプトだけ文字化けしてしまうのですね・・・
サイトはutf8なのでコマンドプロンプトで確認するときはsjisという
設定にするにはどこを変更すればいいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL MYSQL エラー 2 2022/10/18 11:37
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- Visual Basic(VBA) Excel VBA カーソルを当てた際に表示される”4161”とは 1 2022/04/30 21:53
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- その他(開発・運用・管理) Windowsバッチファイルでリモートデスクトップを自動ログインするが確認画面が出る対処方法 1 2022/12/19 15:48
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- PHP php エラー 2 2022/10/23 16:43
- MySQL SHOW CREATE TABLE posts;これって何ですか? 3 2022/08/28 22:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQLでデータベースにデータin...
-
特定のフィールドが更新された...
-
DB Error: no such field
-
【PHPとDBの連動】時刻表作成
-
カラムにデータがあるかないか...
-
ランダム文字列をDBにINSERT
-
OracleからAccessへのインポート
-
市区町村の表示と件数
-
変数にNULLを代入したい
-
PHPでフォームからデータDBに書...
-
MDB2エラーが対応出来ません。
-
mysqlコマンドだけ文字化け
-
INSERT文とUPDATE文の使い分け
-
JAVA SQLServerException 列名 ...
-
<VB.NET>INSERT文でDBにデータ...
-
PHPからMySQLを操作
-
ResultSetインターフェイスでの...
-
PHPで[]の使い方について
-
VBA ACCESS SQL...
-
実行時エラー3131 FROM 句の構...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MySQLでデータベースにデータin...
-
変数にNULLを代入したい
-
csvをDBへ読み込んだら、NULLが...
-
ヒアドキュメントでSQLを書く事...
-
カラムにデータがあるかないか...
-
出勤表の作り方
-
phpでテーブルを作る際変数によ...
-
OracleからAccessへのインポート
-
どちらが高速ですか?
-
エクセルをMysqlに格納
-
PHPでmySQLのテーブルを作成したい
-
MDB2エラーが対応出来ません。
-
SQLで返り値が空とでる
-
PHPでいいね機能を作りたいので...
-
データをDBからひっぱってき...
-
SQL Serverからのvarchar型のデ...
-
where文について
-
PEAR Pagerを利用してデータの...
-
phpにて出欠登録管理を作成して...
-
日またぎの計算
おすすめ情報