我可以将二进制数据插入MySQL TEXT列吗?

Is it possible to insert binary data into MySQL TEXT column? I have a table that I'd like to use for storing both UTF-8 text and binary data (very basic structure - id int(11), type char(1), data text), but when I try to insert some binary data (JPEG image) into the data column, the column is empty.

I use mysql_query and mysql_real_escape_string in PHP to execute the INSERT query, both of them should be binary safe. Example code:

mysql_query("INSERT INTO my_table VALUES(" . (int)$id . ", 'b', '" . mysql_real_escape_string($jpegImageData) . "')");

I don't want to change the data column type to BLOB - in some cases, I need to use to compare / collate strings in this column.

Why not? Just encode in base64 and put it into that field.

<?php
$str = 'Some UTF-8 string or even a binary array';
echo base64_encode($str);
?>