Вопросы вместо русских букв
Материал из BiTel WiKi
Admin (Обсуждение | вклад) (Новая страница: «Например так: http://forum.bgbilling.ru/viewtopic.php?f=22&t=4516 Происходит так из-за неуказания кодировки БД пр…») |
Skyb (Обсуждение | вклад) |
||
Строка 31: | Строка 31: | ||
Новые данные будут вноситься корректно. | Новые данные будут вноситься корректно. | ||
+ | |||
+ | Лучше делать так | ||
+ | <source lang="sql"> | ||
+ | ALTER TABLE <имя таблицы> CONVERT TO CHARACTER SET utf8 | ||
+ | </source> |
Текущая версия на 00:28, 19 марта 2019
Например так: http://forum.bgbilling.ru/viewtopic.php?f=22&t=4516 Происходит так из-за неуказания кодировки БД при её создании. Хотя в стандартном скрипте создания БД кодировка есть.
Чтобы узнать текущую кодировку БД выполните запрос:
SHOW CREATE DATABASE bgbilling
Должно быть примерно так:
CREATE DATABASE `bgbilling_test` /*!40100 DEFAULT CHARACTER SET cp1251 */
При некорректно настроенной базе кодировка по-умолчанию может быть latin1, тогда с этой кодировкой создаются все таблицы и соответственно столбцы в них. При возможности удалите БД, и создайте её заново с верной кодировкой. Это проще всего.
Если такой возможности нет, то нужно менять кодировку базы:
ALTER DATABASE bgbilling DEFAULT CHARACTER SET cp1251
Теперь всё новое будет создаваться правильно.
Проблемные таблицы можно просто удалить, если они некритичные. Потом перезапустить сервер биллинга и дать создать их верными.
Либо править кодировку таблиц и столбцов.
ALTER TABLE <имя таблицы> DEFAULT CHARACTER SET = Cp1251 ALTER TABLE <имя таблицы> MODIFY <имя колонки> DEFAULT CHARACTER SET = Cp1251;
Новые данные будут вноситься корректно.
Лучше делать так
ALTER TABLE <имя таблицы> CONVERT TO CHARACTER SET utf8