下記の要領でテーブルにレコードを追加したのですが、文字化けの原因がわかりません。
何が原因でどうしたら文字化けがなおるのか教えていただけませんでしょうか。
よろしくお願いいたします。
環境
OS:Windows10
DB:MariaDB(XAMPP for Windows)
【実行手順】
- コードページを65001に変更
Active code page: 65001
- MariaDBにルートユーザーでログインし、MariaDBの文字コードを確認
sql
1show variables like 'character_set%'; 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
- sampledbというDBを作成し、DBの文字コードを確認
sql
1MariaDB [(none)]> create database sampledb character set utf8 collate utf8_general_ci; 2 3MariaDB [(none)]>show create database sampledb; 4+----------+-------------------------------------------------------------------+ 5| Database | Create Database | 6+----------+-------------------------------------------------------------------+ 7| sampledb | CREATE DATABASE `sampledb` /*!40100 DEFAULT CHARACTER SET utf8 */ | 8+----------+-------------------------------------------------------------------+
- memberテーブルを作成し、テーブルの文字コードを確認
sql
1MariaDB [(none)]> use sampledb; 2 3MariaDB [sampledb]> CREATE TABLE member( 4 -> id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, 5 -> last_name VARCHAR(50), 6 -> first_name VARCHAR(50), 7 -> age TINYINT UNSIGNED, 8 -> PRIMARY KEY(id) 9 -> ); 10 11MariaDB [sampledb]> show create table member \G 12 13*************************** 1. row *************************** 14 Table: member 15Create Table: CREATE TABLE `member` ( 16 `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, 17 `last_name` varchar(50) DEFAULT NULL, 18 `first_name` varchar(50) DEFAULT NULL, 19 `age` tinyint(3) unsigned DEFAULT NULL, 20 PRIMARY KEY (`id`) 21) ENGINE=InnoDB DEFAULT CHARSET=utf8
- レコードを挿入し、selectでレコード内容を表示。文字化けを確認。
sql
1MariaDB [sampledb]> INSERT INTO member(last_name,first_name,age) 2 -> VALUES('田中','一郎',21); 3 4MariaDB [sampledb]> select * from member; 5+----+-----------+------------+------+ 6| id | last_name | first_name | age | 7+----+-----------+------------+------+ 8| 1 | ?? | ?? | 21 | 9+----+-----------+------------+------+
ちなみにwork.sqlというファイルに上記内容を記述し、コマンドプロンプトからSQLを読み込ませると、文字化けしていませんでした。
sql
1>mysql -u root -p < C:\temp\work.sql 2 3DBにログイン 4 5MariaDB [sampledb]> select * from member; 6+----+-----------+------------+------+ 7| id | last_name | first_name | age | 8+----+-----------+------------+------+ 9| 1 | 田中 | 一郎 | 21 | 10
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/13 15:14