Преобразование вывода MySQL-запроса в utf8 - программирование
Подтвердить что ты не робот

Преобразование вывода MySQL-запроса в utf8

У меня есть таблица в моей базе данных, и я хочу запустить запрос типа

SELECT column1, column2 FROM my_table WHERE my_condition;

но я хочу, чтобы mysql возвращал column2 в кодировке utf8. Это какая-то функция в mysql для выполнения такой задачи? Что это?

4b9b3361

Ответ 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;

Ответ 2

SELECT CONVERT(CAST(column as BINARY) USING utf8) as column FROM table 

Ответ 3

Дополнение:

При использовании клиентской библиотеки MySQL , вам следует запретить преобразование в кодировку по умолчанию для подключения. (см. mysql_set_character_set() [1])

В этом случае используйте дополнительный приведение в двоичный файл:

SELECT column1, CAST(CONVERT(column2 USING utf8) AS binary)
FROM my_table
WHERE my_condition;

В противном случае оператор SELECT преобразуется в utf-8, но ваша клиентская библиотека преобразует его обратно в (потенциально различную) кодировку соединения по умолчанию.