phpMyAdminやMySQL Workbenchでselect文を発行した際に、blob型やvarbinary型のデータが文字化けした経験はありませんか?
そのような場合には、以下のようなselect文を発行することで、データの文字化けを解消して結果を表示できるかもしれません。
MySQL Workbenchの場合で試す場合
MySQL Workbenchには、デフォルトでblob型やvarbinary型のデータの文字化けを解消した上でselect文の結果を表示してくれる機能が付いています。
Edit>preferences..>SQL Query>Treat BINARY/VARBINARY as nonbinary character string
この項目にチェック後にMySQL Workbenchを再起動することで有効化できます。
これだけで文字化けを解消できる場合もあるのですが、それでも無理な場合には、以下のselect文を試してみてください。
(以下のselect文を試す場合にも、上記設定は必須です)
文字化けを解消するためのSQL文
このSQL文はphpMyAdmin、MySQL Worckbenchどちらの場合でも文字化けを解消できました。
例)TestテーブルのNameフィールドの文字コードujisのデータが文字化けする場合
select cast(Name as char character set ujis) from Test
このselect文で文字化けを解消できることがあります。
現在のblob型又はvarbinary型のデータを、そのデータの本来の文字コードのchar型にキャストするという方法です。
文字化けを解消するためにネットで情報を探した際にstackoverflowの下記ページを参考にしました。
sql - How do I convert from BLOB to TEXT in Mysql?
ちなみに、特定のデータを検索した場合は以下のようになります。
例)「テスト」という文字列を含むデータを検索する場合、
select cast(Name as char character set ujis) from Test where cast(Name as char character set ujis) like '%テスト%'
同じようにselect文の結果が文字化けして困っている方は一度試してみてください。