Проблема с кодировками в mysql-базе: так и не смог решить

12
R
На сайте с 04.11.2005
Offline
113
1340

сегодня зашел на один из своих блогов и с ужасом обнаружил, что вместо текста - кракозябры. подозреваю, что хостер пошаманил над своей базой. через phpmyadmin посмотрел - кодировка в таблицах выставлена в latin1_swedish_ci - что я только не пробовал - менял кодировку в таблицах, мнеял кодировку подключения к mysql. на cp1251, на ut8_unicode_ci, на swedish - безрезультанто. сам блог (на вордпрессе), как известно, выдет в unicode (utf8) - текст на русском, что хранится не в базе - отображается нормально. сами посты - крякозябры. менял кодировку и в самом браузере - не помогает, сливал и заливал дамп базы с параметарми set character_set_client='cp1251';

set character_set_results='cp1251';

set collation_connection='cp1251_general_ci'; - как раз в соседней теме проскочило это. безрезультатно. в свое время была похожая пробелма. тогда выставлял set names cp1251 к примеру. сейчас же = не катит. что делать? есть ли возможность восстановить данные в нужной кодировке? iconv использовать не хочется - да и не знаю как весь дамп базы им переконвертить.

HP
На сайте с 30.05.2006
Offline
175
#1

Кракозябры тоже разные бывают :)

Поконкректней бы, а лучше ссылку на сайт.

То что ты видешь на сайте отличается от того что в базе или те же самые кракозябры?

Revan
На сайте с 09.09.2005
Offline
321
#2

Да-да, ссылку нуно. МОжет просто браузер не настроен у кого-то... ;)

С уважением, Прокофьев Александр, founder KudaGo.com (http://kudago.com). Отдаем информацию обо всех мероприятиях в РФ + Киев по API (/ru/forum/912869) всем желающим.
sun
На сайте с 22.10.2005
Offline
81
sun
#3

Попробуйте так

mysql_query("SET CHARACTER SET cp1251");

mysql_query("SET NAMES cp1251");

Сразу после соединения с бд.

devmen.com (http://devmen.com/)
AH
На сайте с 18.03.2006
Offline
204
#4
robust:
да и не знаю как весь дамп базы им переконвертить.

Переконвертить можно в обычном блокноте от windows :)

Файл -> Сохранить как -> Кодировка

Цены на регистрацию доменов ( https://1reg.online/domains.price ).
Jackyk
На сайте с 05.10.2005
Offline
342
#5
Art-Host:
Переконвертить можно в обычном блокноте от windows
Файл -> Сохранить как -> Кодировка

В частности, из win-1251 в юникод конвертит криво. Единственная фришная программа, которую я нашел, которая это делает корректно - AkelPad.

С уважением, Евгений.
Serg_Kotov
На сайте с 23.11.2005
Offline
113
#6

А что за хостер? У меня такая же ситуация была с Нетплейсом.

Тогда я восстановил базу из бекапа...

Обзоры компьютерных железок (http://www.device-review.ru/)
R
На сайте с 04.11.2005
Offline
113
#7

Revan,

МОжет просто браузер не настроен у кого-то...

умный, да?

сайт www.pxty-basket.com - проблема с юникодовской кодировкой. движок wordpress. не хочу в нем ковыряться, чтобы подключение к базе менять. хостер левый.

я вообще боюсь, что восстановлению не подложети это дело. когда вместо букв - одни вопросы, то и при конвертации зачастую это в те же вопросы и превращается.

Jackyk
На сайте с 05.10.2005
Offline
342
#8

Надо бы для начала определиться со всеми параметрами, установленными в данный момент. То есть, пойти, например, в phpmyadmin, выполнить SQL-запрос

SHOW VARIABLES LIKE 'character_set%'

и увидеть, например, вот это:

character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_results utf8
character_set_server utf8
character_set_system utf8

или что-то иное.

Далее выполнить

SHOW VARIABLES LIKE 'collation%'

и увидеть, например,

collation_connection utf8_general_ci
collation_database utf8_general_ci
collation_server utf8_general_ci

Скорее всего, будет не так.

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

Возможно, Вам будет небезинтересно, как я решил проблему кодировок.

R
На сайте с 04.11.2005
Offline
113
#9

Jackyk, спасибо, я уже читал твою тему. на самом деле действителньо - когда столкнулся с пробюлемой - никто ничего толком посоветовать не может. даже, видимо, сами разработчики. а все из-за того, что намудрили с кодировками. видите ли, можно задавать кодировки при подключении, кодировку базы, табилц, и даже полей. конечно, из-за всей это каши и будет неразбериха. англо-язычного контента это не касается - там в любой кодировке латиница отображаться будет, а вот с кириллицей проблемы.

Jackyk
На сайте с 05.10.2005
Offline
342
#10

Ну так а всё же - что дают запросы:

SHOW VARIABLES LIKE 'character_set%' и

SHOW VARIABLES LIKE 'collation%' ?

Важно же причину понять, а именно в подобной нестыковке она и может быть. Ведь раньше-то у Вас всё работало. Как вариант, что-то апгрейдили на хостинге, и что-то задали по-другому.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий