前提
MySQLの勉強をしています。日本語を含む条件でSELECTしようとしたところ、マッチしませんでした。どうすれば解決できるのかご教授願います。
実現したいこと
日本語を含む条件でSELECT
発生している問題・エラーメッセージ
以下がリクエストのログです。
MySQL
1MariaDB [db]> SHOW VARIABLES LIKE 'chara%'; 2+--------------------------+-----------------------------------------------+ 3| Variable_name | Value | 4+--------------------------+-----------------------------------------------+ 5| character_set_client | utf8mb4 | 6| character_set_connection | utf8mb4 | 7| character_set_database | utf8mb4 | 8| character_set_filesystem | binary | 9| character_set_results | cp932 | 10| character_set_server | utf8mb4 | 11| character_set_system | utf8mb3 | 12| character_sets_dir | C:\Program Files\MariaDB 10.6\share\charsets\ | 13+--------------------------+-----------------------------------------------+ 148 rows in set (0.000 sec) 15 16MariaDB [db]> STATUS 17-------------- 18 19Connection id: 5 20Current database: db 21Current user: root@localhost 22SSL: Not in use 23Current pager: stdout 24Using outfile: '~.txt' 25Using delimiter: ; 26Server: MariaDB 27Server version: 10.6.8-MariaDB mariadb.org binary distribution 28Protocol version: 10 29Connection: localhost via TCP/IP 30Server characterset: utf8mb4 31Db characterset: utf8mb4 32Client characterset: utf8mb4 33Conn. characterset: utf8mb4 34TCP port: 3307 35Uptime: 1 hour 8 min 29 sec 36 37Threads: 1 Questions: 196 Slow queries: 0 Opens: 49 Open tables: 20 Queries per second avg: 0.047 38-------------- 39 40MariaDB [db]> SHOW COLUMNS FROM DetailT; 41+---------+----------------------+------+-----+---------+-------+ 42| Field | Type | Null | Key | Default | Extra | 43+---------+----------------------+------+-----+---------+-------+ 44| OrderID | char(5) | NO | PRI | NULL | | 45| Item | varchar(20) | NO | PRI | NULL | | 46| Price | int(10) unsigned | NO | | NULL | | 47| Qty | smallint(5) unsigned | NO | | NULL | | 48+---------+----------------------+------+-----+---------+-------+ 494 rows in set (0.008 sec) 50 51MariaDB [db]> SELECT * FROM DetailT; 52+---------+------------------+-------+-----+ 53| OrderID | Item | Price | Qty | 54+---------+------------------+-------+-----+ 55| 16001 | テーブルタップ | 2 | 4 | 56| 16001 | ディスプレイ | 45 | 2 | 57| 16001 | ハードディスク | 50 | 1 | 58| 16001 | パソコン | 100 | 2 | 59| 16002 | SDメモリカード | 10 | 2 | 60| 16002 | ディジタルカメラ | 30 | 1 | 61| 16003 | パソコン | 90 | 3 | 62| 16003 | フィルター | 6 | 2 | 63| 16004 | キャリアー | 5 | 1 | 64| 16004 | ディスプレイ | 40 | 3 | 65| 16004 | ノートパソコン | 190 | 1 | 66| 16004 | バッテリー | 9 | 1 | 67+---------+------------------+-------+-----+ 6812 rows in set (0.000 sec) 69 70MariaDB [db]> SELECT * FROM DetailT WHERE OrderID = '16001'; 71+---------+----------------+-------+-----+ 72| OrderID | Item | Price | Qty | 73+---------+----------------+-------+-----+ 74| 16001 | テーブルタップ | 2 | 4 | 75| 16001 | ディスプレイ | 45 | 2 | 76| 16001 | ハードディスク | 50 | 1 | 77| 16001 | パソコン | 100 | 2 | 78+---------+----------------+-------+-----+ 794 rows in set (0.000 sec) 80 81MariaDB [db]> SELECT * FROM DetailT WHERE Item = 'パソコン'; 82Empty set (0.000 sec) 83 84MariaDB [db]> SELECT * FROM DetailT WHERE Item LIKE 'SD%'; 85+---------+----------------+-------+-----+ 86| OrderID | Item | Price | Qty | 87+---------+----------------+-------+-----+ 88| 16002 | SDメモリカード | 10 | 2 | 89+---------+----------------+-------+-----+ 901 row in set (0.000 sec) 91 92MariaDB [db]> SELECT * FROM DetailT WHERE Item LIKE 'SDメ%'; 93Empty set (0.000 sec) 94 95MariaDB [db]> SELECT * FROM DetailT WHERE Qty = 1; 96+---------+------------------+-------+-----+ 97| OrderID | Item | Price | Qty | 98+---------+------------------+-------+-----+ 99| 16001 | ハードディスク | 50 | 1 | 100| 16002 | ディジタルカメラ | 30 | 1 | 101| 16004 | キャリアー | 5 | 1 | 102| 16004 | ノートパソコン | 190 | 1 | 103| 16004 | バッテリー | 9 | 1 | 104+---------+------------------+-------+-----+ 1055 rows in set (0.000 sec)
設定ファイル
my.ini
1[mysqld] 2datadir=C:/Program Files/MariaDB 10.6/data 3port=3307 4innodb_buffer_pool_size=2037M 5character-set-server=utf8mb4 6[client] 7port=3307 8default-character-set=utf8mb4 9plugin-dir=C:\Program Files\MariaDB 10.6/lib/plugin
試したこと
補足情報(FW/ツールのバージョンなど)
OS: Windows 10 Home 21H2
MariaDB 10.6
character_set_results
がcp932
なのはコマンドプロンプトを使用していて、SELECTの出力を文字化けさせないためです。
逆にchcp 65001
すると日本語を含むリクエストが送れなくなってしまいます。
default-character-set=utf8mb4
を[client]
に追加しているのは、そうしないとUTF-8の.sqlファイルが文字化けして読み込めなかったからです。

回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。