MySQL - русские символы отображаются неправильно - PullRequest
11 голосов
/ 30 ноября 2010

Мне нужно сделать русскую версию сайта, но я не могу понять, как вставить русские символы в базу данных.

Я перепробовал почти все возможные кодировки, но он показывает только:

???????? ?????????? ??????? ??????? ? ????? ?? ????????????? ? ???????, ??????? ????? ??????? ???????? ????? .??? ??????????? ???????? ????? ?? ????? ?????????? ? ????? ????????.
??????????? ?????? ?? ???????? ????? ?? 20 ???????. ???????? ??? ?? ??????????? ?????????????? ????? ? ????????????? ??????? ??????. ? ???????, ? ??????? ? ?.?. 

Ответы [ 2 ]

13 голосов
/ 30 ноября 2010
  1. Убедитесь, что кодировка / сопоставление базы данных имеет формат UTF-8
  2. На странице, на которой вы вставляете эти русские символы (форма, текстовое поле), убедитесь, что кодировка UTF-8, установив Content-Введите text/html; charset=utf-8.Введите текст на русском языке непосредственно в форму ввода.
  3. На странице обработки, которая обрабатывает эту форму и вставляет ее в базу данных, обязательно наберите SET NAMES utf8, чтобы она сохранялась как UTF-8 до вы заранее вставляете данные в отдельный запрос.
  4. Когда вы визуализируете содержимое из базы данных в представлении, убедитесь, что Content-Type равно text/html; charset=utf-8.

Убедитесь, что тип содержимого , а не windows-1251 или iso-8859-1 / latin1.Убедитесь, что кодировка / сопоставление базы данных НЕ ISO-8859-1 / Latin1.

1 голос
/ 16 апреля 2019

Для хранения русских символов в БД ваша БД должна поддерживать кодировку UTF-8.Измените таблицу с помощью запроса ниже, чтобы включить кодировку UTF-8.

ALTER TABLE t1 CONVERT TO CHARACTER SET utf8
...