Здравствуйте. Интересует программист php, не корректно отображаются русские символы в базе sql.

10.10.16
1 ответ

Ответы


Здравствуйте!
Базовые рекомендации по работе с sql-базами из php:
1.  header('Content-Type: text/html; charset=utf8');  — пишите всегда utf8. IE не понимает utf-8.
2. После подключения к бд SET NAMES utf8
3. Проверьте collation таблиц и полей, должно везде быть что то типа utf8_general_ci, если это не так — поменяйте.
На данном этапе, после этих правок всё должно работать правильно (заноситься в базу/извлекаться из базы).
Если то, что лежало в базе (существующие значения) выводится некорректно, а новые данные — заносятся и выводятся нормально, значит что у Вас в базе данные лежат в неверной кодировке. И тут нужно исправлять базу данных (например, или запросами перекодировать, или сделать экспорт базы, перекодировать всё что нужно и сделать обратно импорт).

В общем, часто решает проблему mysql_query(«SET NAMES utf8 COLLATE utf8_unicode_ci»); (или в php админе выполните такой запрос).
10.10.16
Рекомендуем личную консультацию

Виталий

С/C++/C#, Pascal/Delphi, PHP, Java/JavaScript, Visual Basic, консультации по web-разработке, удаленная помощь. Дорого, профессионально и качественно.
Посмотреть всех экспертов из раздела Технологии > PHP