
下記のようなプログラムを作っていて、検索キーワードにマッチしたレコード数を表示したいと考えております。
$st = $pdo->prepare($hoge);
$st->execute();
$reccnt=$st->rowCount();
echo '<p>検索結果:'.$reccnt.'件</p>';
nameというカラムがあり、そこには商品名を格納しております。
「あいうえお2000グラム」などの名前です。
Likeを使って日本語検索をするとうまくヒットしません。
SELECT * FROM products WHERE name LIKE '%2000%' → OK
SELECT * FROM products WHERE name LIKE '%2000グラム%' → NG
SELECT * FROM products WHERE name LIKE '%あいうえお%' → NG
XAMPP内のMysqからSQL文を直接入力した場合、ちゃんと表示することができました。
詳しい方がいらっしゃいましたら、ご助言をいただけないでしょうか。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
>character_set_database latin1
MySQLの設定ファイルmy.cnfの編集権はありますか?
[mysqld]セクションに
character-set-server = utf8を記載したり
[mysql]セクションに
default-character-set=utf8を記載したり
した上で、mysqldを再起動してみてください
ご回答いただきありがとうございます!
教えていただいた通り、my.cnfファイルに追加してみましたが上手くいきませんでした。データベースを削除、再作成をしたら無事に上手くいきました。お騒がせして申し訳ありませんでした・・・。
No.1
- 回答日時:
MySQL内とプログラム側の内部文字コードが違うのでしょう
MySQL側で「SHOW VARIABLES LIKE 'character\_set\_%';」を、
PHP側で「print mb_internal_encoding();」を
それぞれ実行し、文字コードの差異がないか確認してみてください
ご回答いただきありがとうございます!
PHP側で「print mb_internal_encoding();」はUTF-8と表示されたのですが、Mysql側ではこのように表示されました。
Variable_name Value
character_set_client utf8mb4
character_set_connection utf8mb4
character_set_database latin1
character_set_filesystem binary
character_set_results utf8mb4
character_set_server latin1
character_set_system utf8
この「character_set_database latin1」に問題があるのではないかと勝手に思っているのですが、どうなんでしょうか。また、これが問題だった場合はどのようにして変更すればいいのでしょうか。
質問ばかりで申し訳ありませんが、ご助言をいただけないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQL(UTF-8)で ~ が文字化け...
-
ODP.NETのバージョン確認
-
mysqlがインストールされている...
-
MySQLカラム名は日本語と英数字...
-
mysqlへのインポート処理がうま...
-
VBAで変数内に保持された二次配...
-
複数行のクエリを、まとめて実...
-
SQLのVARCHARとVARCHAR2の違い
-
「mysqld dead but subsys lock...
-
MySQL エラー Duplicate entry...
-
パスワード入力を省略したい
-
RPMのmysqlとmysql-serverの違い
-
さくらVPS+CakePHPがうまく動...
-
列数が多いと結果が行単位に改...
-
MYSQLサービス停止時にWindows...
-
ヌル値は記憶容量を必要としな...
-
AccessからOrcleのODBCリンクテ...
-
プライマリーキーの昇順でソー...
-
MySQLでAutoCommitをfalseにする
-
MysqlにURLを登録する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MYSQLで日本語が入力できない
-
文字コードの設定
-
utf8に設定すると起動できません
-
以下のSQL文の間違いがわかりま...
-
cseデータ閲覧時の文字化け
-
MySQLの文字化けが直りません。
-
設定が間違っていないのに文字...
-
インポートできない。
-
UTF-8にしても文字化けが直らない
-
mysqlの文字化けの対処
-
MySQLのsetコマンドで文字コー...
-
mysqlでエラーが出ます。
-
phpmyadminで編集すると文字化...
-
MySQLのチューニングについて
-
MySQL4.1の日本語化
-
日本語をinsert時に文字化け
-
検索で濁点や半濁点をヒットさ...
-
phpmyadminで日本語データが文...
-
phpMyAdminの文字化け
-
お助けください。。。
おすすめ情報