Как создать кодировку подключения?

Здравствуйте! Подключаюсь к базе, как задать кодировку utf 8?
$conn = mysqli_connect("localhost", "user", "pass", "db");
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
На будущее: пишешь в адресной строке своего браузера, mysqli задать кодировку соединения
И тебе сразу показывает, как это сделать. Попробуй - это очень удобно.
Ответ написан
@granty
Для корректной работы клиента с сервером MySQL надо правильно установить 4 параметра кодировки подключения:

character_set_client - указывает, в какой кодировке будут поступать данные от клиента;

character_set_connection - указывает, в какую кодировку следует преобразовать данные полученые от клиента перед выполнением запроса;

collation_connection - указывает, каким образом сравнивать между собой строки в запросах;

character_set_results - указывает серверу на необходимость перекодировать результаты запроса в определенную кодировку перед выдачей их клиенту.

Если запрос и данные в БД находятся в одинаковой кодировке, и перекодировка результата не требуется, то вместо установки character_set_client, character_set_connection, character_set_results достаточно выполнить:
mysqli_query("SET NAMES 'utf8' ");

или, если collation не был задан при создании БД:
mysqli_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci' ");


PS: В MySQL версий > 4.1 кодировку и collation можно установить на уровне БД, на уровне таблицы, и даже на уровне отдельной записи в таблице, по ссылке выше есть примеры.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы