[help]Какую кодировку использовать?

Статус
В этой теме нельзя размещать новые ответы.
1. Если у тебя в PhpMyAdmin написано:

То соответственно тебе нужно, сделать backup все своей базы, открыть её тем же самым AkelPad и если у тебя там кодировка стоит cp1251(или отличная от utf8, все зависит от того, какая кодировка у тебя в PhpMyAdmin), произвести замену cp1251 на utf8.
2. Сохранить.
3. Восстановить базу при помощи дампера или прямо через PhpMyAdmin (Если база большая, лучше через дампер).

Да, MySQL-кодировка: UTF-8 Unicode (utf8)

Как уже говорил раньше, AkelPad показывает что база в UTF-8 *BOM, а не какая другая. Заменять то нечего :(

Но всё же как заставить скрипт записывать в базу в юникоде?
Пробовал добавлять разные коды:
@mysql_query("SET NAMES cp1251");
@mysql_query("SET NAMES utf8");
Всё равно в базу записывается не кириллицей, а иероглифами различными (òåñò).
 
Да, MySQL-кодировка: UTF-8 Unicode (utf8)

Как уже говорил раньше, AkelPad показывает что база в UTF-8 *BOM, а не какая другая. Заменять то нечего :(

Но всё же как заставить скрипт записывать в базу в юникоде?
Пробовал добавлять разные коды:
@mysql_query("SET NAMES cp1251");
@mysql_query("SET NAMES utf8");
Всё равно в базу записывается не кириллицей, а иероглифами различными (òåñò).

иероглифами может записываться только в случае, если у вас кодировка файлов фактически отличается от кодировки БД.
у вас только в phpmyadmin не верно отображается? или после занесения и вывода - на сайте тоже?
посмотрите внимательно - какая кодировка у вас идет при соединении с БД (в файле connect или какой там в IPB т.е. сразу после установления постоянного соединения).

и посмотрите, что у вас, относящееся к БД просино в файле конфига форума (выложите под хайдом)

да, еще посмотрите кодировку не БД сервера, а самих таблиц - т.е. в базе, в каждой таблице кодироку полей. Возможно там стоит неверная кодировка именно у поля.
 
иероглифами может записываться только в случае, если у вас кодировка файлов фактически отличается от кодировки БД.
у вас только в phpmyadmin не верно отображается? или после занесения и вывода - на сайте тоже?
Только в базе, на форуме отображается нормально.

посмотрите внимательно - какая кодировка у вас идет при соединении с БД (в файле connect или какой там в IPB т.е. сразу после установления постоянного соединения).

и посмотрите, что у вас, относящееся к БД просино в файле конфига форума
Используется форум vBulletin. В конфиге нашел такое:
PHP:
// $config['Mysqli']['charset'] = 'utf8';
Если прописать кодировку utf8, то на всех страницах выкидывает ошибку со ссылкой на файл includes/functions.php (4107 строчка)
Если cp1251 и на форуме windows-1251, но все новые записи/внесения в базу записываются кирилиицей. И нормально отображаются на форуме, за исключением старых записей.

Вообще, никакаих изменений кроме данных для подключения к базе не делал. Если надо - выложить файл конфина.

да, еще посмотрите кодировку не БД сервера, а самих таблиц - т.е. в базе, в каждой таблице кодироку полей. Возможно там стоит неверная кодировка именно у поля.
Нашёл только такое, не то?
mysqltitlebz4.gif
 
если у вас только в phpmyadmin не верно отображается, это значит, что в нем стоит не верное сопоставление при соединении в бд, при выводе данных (т.к. phpmyadmin, это такой же PHP скрипт, как и ваш форум, просто его задача - выводить информацию из бд).

в бд все записывается нормально - в UTF-8, об этом не стоит беспокоиться.

попробуйте поиграться и поменять сопоставление в phpmyadmin

attachment.php
 

Вложения

  • Untitled-1.gif
    Untitled-1.gif
    5,9 KB · Просмотры: 39
попробуйте поиграться и поменять сопоставление в phpmyadmin

А там и так стоит utf8_unicode_ci, на что ещё можно изменить?

Но ведь Вордперсс использует тоже соединение, ту жу базу и utf-8 кодировку, и у него всё отлично записывается в базу и отображается в базе, как надо.
 
проблема с неверным отображением получается из-за того, что где-то стоит не верная кодировка, в итоге, все у вас на форуме отображется по причине того, что потом все это перекодируется, т.е. есть лишнее звено.

напишите мне в ЛС свой номер ICQ, давайте конкретно обсудим, чтобы не засорять форум, а потом выложите здесь решение свой проблемы, чтобы те, у кого будет подобная - смогли с ней разобраться :)

кстати есть еще такая программа tcode, в ней можно кроме того, что просто перекодировать текст, еще и посмотреть, в какой он был кодировке.
скорее всего у вас там где-то приписывается 1251 - возможно шаблоны форума на ansi, вместо utf-8 или что-то еще подобное
 
поставьте везде utf8_general_ci

в настройках языка vbulletin установите charset равный UTF-8

в файле config.php расскоментируйте строчку про utf8

Всё будет работать.
 
  • Заблокирован
  • #18
latin1, 100%.
Проверено ;)
При том поставь её в главном значение мисульки вместо utf8, а всё остальное верни как было. И будет тебе счастье :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху