問題 日本語を含むSQLを実行したいんだけど、できない! ssh端末で日本語が入力できない。 日本語が化ける。 文字コードが合わなくて通じない(ソースはUTF-8、データベースはEUC)。 答え MySQLだと、HEX関数、CHAR関数を使ったこんな手がある。 EUC-JPで「内藤さん」を探したいとき。 1、どこか日本語が通じるところで下ごしらえ select hex('内藤'); → C6E2C6A3 「内藤」のujisでの16進表現が確認できた。 下ごしらえはphpでやってもよい。 //EUC-JPのソースで var_dump(unpack('H*', '内藤')); //→ c6e2c6a3 2、問題の環境でSQL実行 16進表現を元の文字列に戻したり(0xつける) select * from dtb_customer where name01 = char(0xC6E2C6A3);
![【MySQL】日本語を使わないで日本語の検索をする at softelメモ](https://cdn-ak-scissors.b.st-hatena.com/image/square/ae94707a91d396ba636f12e81979a512cf7f227d/height=288;version=1;width=512/https%3A%2F%2Fwww.softel.co.jp%2Fblogs%2Ftech%2Fwordpress%2Fwp-content%2Fuploads%2F2013%2F07%2Fmysql-nihongo-problem.png)