Почему при записи в MySQL отображаются каракули?
189
вчера
Была раньше кодировка сайта UTF-8 Без ВОМ, при отправке через пост данных и запросом в бд о добавлении, в бд добавляются каракули (Текст на Русском).

Сменил таблицы на utf-8 general - не помогло, сменил сайт на ANSI, кодировка бд latin1 - каракули, cp1251 - опять каракули. Как сделать, чтобы сайт остался UTF-8, и чтобы бд нормально воспринимала текст?
Ответы (7)
Сортировать по:
  • Почему всё в ютф8 не сделать?
  • Попробуйте копнуть в сторону mysql_set_charset() или ее аналога для Вашего драйвера соединения.
  • Попробуйте добавить в форму

    accept-charset="Кодировка в бд "
  • Попробуй создать б/д сразу в UTF-8 с сопоставлением utf8_general_ci.

    Также настрой кодировку отдаваемых сервером документов: AddDefaultCharset utf-8

    Если сервер локальный, то отредактировать my.cnf / my.ini
    [mysqld]
    character-set-server = utf8
    collation-server = utf8_unicode_ci
    
    [client]
    default-character-set = utf8
  • 3
    после mysql_connect
    выполняйте запросы
    SET NAMES 'utf8';
    SET collation_connection = "utf8_unicode_ci";


    И убедитесь, что база, таблицы и сам сервер в одной кодировке.
  • 1
    в .htaccess пропишите - AddDefaultCharset utf8
    в head страницы пропишите -
    <meta http-equiv="Content-Type"  content="text/html" charset="UTF-8" />


    Во всех своих файлах в т.ч. js проверьте кодировку, чтобы везде стояла utf-8
    Зайдите в phpmyadmin и проверьте, чтобы там тоже стояла кодировка urf-8
    В месте подключения к бд сделайте запрос
    mysql_query("SET NAMES utf8");
    В панели управления хостингом(какой, кстати, у вас хостинг?) установите кодировку сайта UTF-8
    Если вы все это сделаете так (именно пройдетесь по всем пунктам, проверите) Я вам гарантирую - проблемы с кодировкой уйдут.
  • Кодировка, с апачем работаете ?
Написать ответ

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

Войти через TM ID
Похожие вопросы