Ответ 1
Вы можете использовать CAST и CONVERT для переключения между различными типами кодировок. См.: http://dev.mysql.com/doc/refman/5.0/en/charset-convert.html
SELECT column1, CONVERT(column2 USING utf8)
FROM my_table
WHERE my_condition;
У меня есть таблица в моей базе данных, и я хочу запустить запрос типа
SELECT column1, column2 FROM my_table WHERE my_condition;
но я хочу, чтобы mysql возвращал column2
в кодировке utf8. Это какая-то функция в mysql для выполнения такой задачи? Что это?
Вы можете использовать CAST и CONVERT для переключения между различными типами кодировок. См.: http://dev.mysql.com/doc/refman/5.0/en/charset-convert.html
SELECT column1, CONVERT(column2 USING utf8)
FROM my_table
WHERE my_condition;
SELECT CONVERT(CAST(column as BINARY) USING utf8) as column FROM table
Дополнение:
При использовании клиентской библиотеки MySQL , вам следует запретить преобразование в кодировку по умолчанию для подключения. (см. mysql_set_character_set()
[1])
В этом случае используйте дополнительный приведение в двоичный файл:
SELECT column1, CAST(CONVERT(column2 USING utf8) AS binary)
FROM my_table
WHERE my_condition;
В противном случае оператор SELECT
преобразуется в utf-8, но ваша клиентская библиотека преобразует его обратно в (потенциально различную) кодировку соединения по умолчанию.