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

Статус
В этой теме нельзя размещать новые ответы.

MavriK

Местный житель
Регистрация
24 Мар 2006
Сообщения
156
Реакции
20
Какую кодировку форума и базы лучше использовать? Дело в том, что хоть на форуме символы отображаются нормально, а в базе какие-то иеровгилфы записываются.

Проблема в том, что если пишу что-то в сообщении кириллицей (например слово «тест»), то в базе вижу «Ñ‚есѻ, разве в базе не должно быть записано кириллицей? Ведь юникод используется.

Информация о базе:
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
collation_connection utf8_unicode_ci
collation_database utf8_general_ci
collation_server utf8_general_ci

На форуме выставил кодировку UTF-8
Код:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
лучше, чтобы везде был UTF-8
при несовпадении кодировок, можно после коннекта с БД устанавливать руками нужную, например cp1251
PHP:
@mysql_query("SET NAMES cp1251");

Добавлено через 1 минуту
в phpmyadmin также посмотрите, в какой кодировке вы просматриваете свою базу (Сопоставление соединения с MySQL)
 
лучше, чтобы везде был UTF-8
при несовпадении кодировок, можно после коннекта с БД устанавливать руками нужную, например cp1251
PHP:
@mysql_query("SET NAMES cp1251");
А какие могут быть несовпадения?
И что вообще этот код делает?

в phpmyadmin также посмотрите, в какой кодировке вы просматриваете свою базу (Сопоставление соединения с MySQL)
collation_connection utf8_unicode_ci
collation_database utf8_general_ci
collation_server utf8_general_ci
 
у вас проблема в чем, при выводе на сайт отображается не так, или?
дайте под хайдом адрес сайта.
код, что я привела - устанавливает нужную кодироку, если она отлична от той, в которой работает сервер, чтобы все корректно сохранялось/отображалось.
 
у вас проблема в чем, при выводе на сайт отображается не так, или?

На форуме отображается нормально, кряказябры в базе! Или же это нормально?
Дело в том, что хоть на форуме символы отображаются нормально, а в базе какие-то иеровгилфы записываются.

Проблема в том, что если пишу что-то в сообщении кириллицей (например слово «тест»), то в базе вижу «Ñ‚еÑ�Ñ», разве в базе не должно быть записано кириллицей? Ведь юникод используется.

Может я чего-то не понмаю, есть ещё какие-то настройки кодировки? :confused:

Установил на том же сервере и используя туже базу, вордпресс, так на нём и отображается всё отлично и в базе записывает тоже отличной, всё кириллицей.
 
Как я понял у тебя в базе нигде не прописано сто запись должна идти как utf8. Пропиши в скрипте сразу после коннекта к базе @mysql_query(SET NAMES 'utf8');
 
Как делаю я.

1. Смотрю кодировку в PhpMyAdmin.
2. Делаю backup базы форума (сайта), меняю там везде кодировку на кодировку PhpMyAdmin.
3. Сохраняю.
4. Восстанавливаю базу.
5. Вуаля все прекрасно, все работает.
 
Как я понял у тебя в базе нигде не прописано сто запись должна идти как utf8.
А где и как это можно проверить?

2. Делаю backup базы форума (сайта), меняю там везде кодировку на кодировку PhpMyAdmin.
Можно поподробнее как это сделать?

AkelPad показывает что база в UTF-8 *BOM
 
Можно поподробнее как это сделать?

AkelPad показывает что база в UTF-8 *BOM

1. Если у тебя в PhpMyAdmin написано:
MySQL-кодировка: UTF-8 Unicode (utf8)

То соответственно тебе нужно, сделать backup все своей базы, открыть её тем же самым AkelPad и если у тебя там кодировка стоит cp1251(или отличная от utf8, все зависит от того, какая кодировка у тебя в PhpMyAdmin), произвести замену cp1251 на utf8.
2. Сохранить.
3. Восстановить базу при помощи дампера или прямо через PhpMyAdmin (Если база большая, лучше через дампер).
 
  • Заблокирован
  • #10
лучше всего сделать:
1. посмотреть кодировку БД,
2.Еслу бекап не позволяет использовать кодировку юникод или cp 1251,то через редактор меняем все charset на ту кодировку которую вам поставил хостер.
3.Импртируем и наслаждаемся
4.Если что-то пошлоне так,значит это ваш косяк,и вы что-то сделали не так,все методы которые предоставили в предыдущих постах тоже нормальные и действенные,но всегда играет фактор того что БД может отличаться от наших советов и быть готовым к любой ситуации ;)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху