Слетела кодировка форума - ????????? ??????

Автор Andrey_Li, 10 сентября 2006, 17:07:47

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

BIOHAZARD

Цитата: kart от 15 февраля 2010, 12:05:01
Версия форума SMF 2.0 RC2
Сравнение cp1251_general_ci
После бэкапа все сообщения группы название тем и некоторые параметри превратились в вопросы
Прежде чем зайдествовать бэкап, именовал таблицы в той же кодировке.
Что делать?
в итоге обошлись добавлением в settings.php строки

$db_character_set = 'cp1251';

в самом конце файла перед ?>
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

kart

Ааа... А я думал просто в этой версии такого пункта нет... а вставлять побоялся..
Огромное вам спасибо!!! Даже незнаю как вас облагодарить!!!  O0

BIOHAZARD

закажите мне девочек в баню, отправьте в Красноярск :о)
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

Mr. Anviss

Цитата: Somebody от 17 декабря 2009, 17:36:05
Просто ужас... Уже раз 10 переустанавливал форум...
ну как всегда: "умная" голова не дает покая рукам...

digital

У меня как раз была такая же ситуация, как у OSIP в посте http://www.simplemachines.ru/index.php?topic=791.msg60382#msg60382. База и форум в кодировке utf-8, после возврата из бэкапа форум стал отображаться аналогично, если делать новые посты, то отображались правильно. На будущее: можно ли что-то сделать более разумное, чем потом вручную править уже сделанные посты, меняя у каждого кодировку?

BigMichael

#255
Столкнулся с аналогичной проблемой при переносе форума (1.1.10, русификатор cp1251) на другой хостинг.
Последовательность действий была такова:
1) Бэкап базы со старого хостинга (кодировка cp1251). Делался из PhpMyAdmin из панели управления БД на хостинге.
2) Залил базу на новый хостинг.
3) Переписал со старого хостинга все файлы форума на новый хостинг.
4) Прописал все пути форума и подключение к БД, используя repair_settings.php.

В результате админка и меню на русском, а все тексты сообщений, темы и т.п. - в виде знаков вопроса.
Добавление в settings.php строчки
Цитировать$db_character_set = 'cp1251';
не помогает - после этого знаки вопроса меняются на другие какие-то символы. Во вложении - скрин проблемы.

"Помогите, кто может. Кто может, помогите." (с) Шелезяка :)


upd. Догадался залезть в PhpMyAdmin на новом хостинге, и там в БД увидел кракозябры. Видимо, при заливке что-то слетело или не так сконвертировалось. В общем, это не форум виноват и не кодировка. Это что-то при переносе БД стряслось. Буду бороть дальше... Видимо, правильная перезаливка БД спасёт...

0daliska

Цитата: BigMichael от 31 марта 2010, 23:44:13
Столкнулся с аналогичной проблемой при переносе форума (1.1.10, русификатор cp1251) на другой хостинг.
Последовательность действий была такова:
1) Бэкап базы со старого хостинга (кодировка cp1251). Делался из PhpMyAdmin из панели управления БД на хостинге.
2) Залил базу на новый хостинг.
3) Переписал со старого хостинга все файлы форума на новый хостинг.
4) Прописал все пути форума и подключение к БД, используя repair_settings.php.

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

"Помогите, кто может. Кто может, помогите." (с) Шелезяка :)
База Данных - сопоставление БД и таблиц БД - неправильное!
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

BigMichael

Цитата: 0daliska от 31 марта 2010, 23:58:17
База Данных - сопоставление БД и таблиц БД - неправильное!

Прошу пояснить. Не совсем еще в теме разбираюсь... ???

BigMichael

Всё, разобрался кажись. Спасибо за наводку. O0

1. Сначала исправил кракозябры в PhpMyAdmin. Для этого вручную копировал из дампа БД на винте (открыл в Notepad++) соответсвующие таблицы и вставлял в БД на хостинге. Слава Богу, форум еще небольшой, много времени это не заняло. Но не представляю как это делать с форумом, у которого база весит, к примеру, 300 мегов. uglystupid

2. В файл index.php прописал вот это:
// Connect to the MySQL database.
if (empty($db_persist))
   $db_connection = @mysql_connect($db_server, $db_user, $db_passwd);
else
   $db_connection = @mysql_pconnect($db_server, $db_user, $db_passwd);
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");


Теперь всё отображается корректно.

BigMichael

>upd:
Корректно, да не всё. Даты тем и сообщений показываются непонятно. Что делать с этим?

0daliska

Цитата: BigMichael от 01 апреля 2010, 01:06:36
>upd:
Корректно, да не всё. Даты тем и сообщений показываются непонятно. Что делать с этим?
FAQ
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

BigMichael

И на том спасибо. Помогло. Сюда приведу цитату из FAQ, чтобы другим облегчить жизнь:
Цитата: digger от 25 августа 2009, 03:49:59
Q: Проблема с отображением названий месяцев в датах. Например, сентябрь показывается как "БХЭвпСам", и так далее. Короткие названия месяцев тоже показываются таким же образом (БХЭ = Сен).
A: В зависимости от языка форума, должна быть строка в файле index.russian.php 
$txt['lang_locale'] = 'ru_RU.CP1251';
или в index.russian-utf8.php
$txt['lang_locale'] = 'ru_RU.UTF8';

R0ks1ave

Доброго дня! Помогите пожалуйста восстановить русский язык на моем форуме версии 1.1.11
Крякозябры  :) как вы их называете появились после не удачного обновления форума до SMF 2.0 RC3. Бекап БД заливал (делал ее из админки форума), бекап форума (полностью все скопировал из папка forum) заливал одни вопросы везде. Пробовал делать кое что из того что здесь написано, не помогло. Что то я просто не понимаю КАК сделать, поэтому не пробовал.

1. в бд есть вопросы или нет (нет вопросов)
2. после каких действий у вас слетела кодировка? (обновление)
3. Кодировка бд (не знаю где смотреть)
4. Кодировка сравнений бд (хз что это)
5. Кодировка таблиц бд (не знаю где посмотреть)
6. кодировка полей бд (не знаю где посмотреть)

для наглядности пару скринов




BigMichael

Как вариант, попробуй воспроизвести те же действия, которые предпринял я:
1. Добавление в settings.php строчки
$db_character_set = 'cp1251';

2. В файл index.php прописать вот это:
// Connect to the MySQL database.
if (empty($db_persist))
  $db_connection = @mysql_connect($db_server, $db_user, $db_passwd);
else
  $db_connection = @mysql_pconnect($db_server, $db_user, $db_passwd);
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");


Цитата: R0ks1ave от 19 апреля 2010, 22:35:38
Бекап БД заливал (делал ее из админки форума)

Вот это напрасно. Надо пользоваться специальной утилитой для этого - restore_backup.php. И ещё мне нравится, как работает Sypex Dumper Lite.

0daliska

Вот сижу, читаю и думаю, сколько ж это надо будет потом править эту БД после Ваших издевательств!
Сопоставление таблиц БД в latin_general_ci
Данные Вами конвертированы в UTF-8
Еще и последовав совету BigMichael поставите сопоставление в cp1251_general_ci, и солянка очень красивая будет!
Про то, что у Вас нет вопросов в БД - очень сомневаюсь, поскольку внутрбь таблиц-то Вы не заходили (там где есть русский текст), а там как раз трабла и имеется, ИМХО!
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Mavn

Цитата: 0daliska от 21 апреля 2010, 09:55:06
Еще и последовав совету BigMichael поставите сопоставление в cp1251_general_ci, и солянка очень красивая будет!
Про то, что у Вас нет вопросов в БД - очень сомневаюсь, поскольку внутрбь таблиц-то Вы не заходили (там где есть русский текст), а там как раз трабла и имеется, ИМХО!
а там ничего не будет если не будет стоять галки постоянное соединение с бд. ибо сопоставления только для данного вида соединения прописаны.
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

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

R0ks1ave

Цитата: BigMichael от 21 апреля 2010, 09:28:27
Как вариант, попробуй воспроизвести те же действия, которые предпринял я:
1. Добавление в settings.php строчки
$db_character_set = 'cp1251';

2. В файл index.php прописать вот это:
// Connect to the MySQL database.
if (empty($db_persist))
  $db_connection = @mysql_connect($db_server, $db_user, $db_passwd);
else
  $db_connection = @mysql_pconnect($db_server, $db_user, $db_passwd);
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");


Вот это напрасно. Надо пользоваться специальной утилитой для этого - restore_backup.php. И ещё мне нравится, как работает Sypex Dumper Lite.

спасибо за помощь. в след. раз буду юзать утилиты.
settings.php поменял кодировку.
а вот в index.php не было вобще такой строчки // Connect to the MySQL database. Ну я так вставил в какое то место весь код.
Толку все это не дало.
А нет утилит чтоб прочитать базу данных?, посты остались нужные, инфу бы забрать как-то

BigMichael

Цитата: R0ks1ave от 21 апреля 2010, 13:56:40
а вот в index.php не было вобще такой строчки // Connect to the MySQL database. Ну я так вставил в какое то место весь код.
Толку все это не дало.
А нет утилит чтоб прочитать базу данных?, посты остались нужные, инфу бы забрать как-то

Эти рекомендации для 1.1.11, а не для 2.0. Там действительно нет этой строчки в index.php. Пусть мэтры нам подскажут как это в 2.0. исправлять.
Утилита для прочтения БД - PhpMyAdmin или хотя бы notepad++

R0ks1ave

прикол в том что у меня в phpMyAdmin вопросы  :(

BigMichael

Это плохо. Если есть возможность, надо переделать бэкап базы по-нормальному.

R0ks1ave

а как это можно сделать?
я то хотел сообщения посмотреть в phpMyAdmin думал хоть так выцапаю оттуда инфу а там хренатень эта 

BigMichael

Цитата: R0ks1ave от 22 апреля 2010, 20:27:40
а как это можно сделать?

Ну если есть доступ к БД с нормальными сообщениями, то сбэкапить её, используя PhpMyAdmin или Sypex Dumper Lite. После чего проверить всё ли в там нормально в том же notepad++, а потом уж заливать на новое место.

Dmitrius

#272
Очень прошу помощи, так как разобраться сам не смог...
При переезде форума с виртуального хостинга на VPS, названия тем отображаются вопросиками.
Пожалуйста, помогите, т.к. я в MySQL не разбираюсь. Дамп базы прилагаю. Кто сможет помочь - прошу в ICQ - 344633011. Заранее очень благодарен.

Mavn

дамп бд читаемый так что проблема не в нем. Удалил из вашего сообщения чтобы кому не нужно не воспользовались.
Скорее всего проблема в настройках самого впс
/etc/my.cnf
содержимое или сам файл сюда выложи
так же хотелось бы увидеть версию форума
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

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

Dmitrius


knu

Помогите пожалуйста, слетела кодировка на форуме, проделал следующее:

Цитата: BigMichael от 01 апреля 2010, 00:56:22
Всё, разобрался кажись. Спасибо за наводку. O0

1. Сначала исправил кракозябры в PhpMyAdmin. Для этого вручную копировал из дампа БД на винте (открыл в Notepad++) соответсвующие таблицы и вставлял в БД на хостинге. Слава Богу, форум еще небольшой, много времени это не заняло. Но не представляю как это делать с форумом, у которого база весит, к примеру, 300 мегов. uglystupid

2. В файл index.php прописал вот это:
// Connect to the MySQL database.
if (empty($db_persist))
  $db_connection = @mysql_connect($db_server, $db_user, $db_passwd);
else
  $db_connection = @mysql_pconnect($db_server, $db_user, $db_passwd);
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");


Теперь всё отображается корректно.

Помогло, но теперь, если писать сообщение в браузере IE - всё нормально, а если в других (opera, mozilla и т.п.) сообщение получается в кодировке "UTF-8", хотя весь форум в "cp1251".
Подскажите куда копать?

BIOHAZARD

Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

knu


BIOHAZARD

Цитата: knu от 12 мая 2010, 07:55:25
Помогите пожалуйста, слетела кодировка на форуме, проделал следующее:

Помогло, но теперь, если писать сообщение в браузере IE - всё нормально, а если в других (opera, mozilla и т.п.) сообщение получается в кодировке "UTF-8", хотя весь форум в "cp1251".
Подскажите куда копать?

у Вас сервер отдает заголовок, что кодировка cp1251, а в теле страницы указано, что utf-8 (в хэдере)
Вы уж определитесь, чего Вам хочется больше
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

Idrassil

У меня такая проблема - после переезда на другой сервер (хостинг тот же) вместо всех символов форума (тем, сообщений) начали отображаться знаки вопроса. Я добавил в settings.php строчку $db_character_set = 'cp1251';, и "новости" и сообщения форума с никами русских пользователей стали отображаться нормально. Но названия тем и разделов по прежнему "????????". Что это может быть и как исправить названия разделов и тем?

CedarMill

Idrassil
зайдите в phpMyAdmin и посмотрите на базу данных форума.
Если кодировка вашего форума в charset=windows-1251
тогда в phpMyAdmin должно быть:





Возможно поможет очистка кэша...
I love SMF and Joomla!

Idrassil

я посмотрел, там возле некоторых значений - кодировка cp1251_general_ci (я так понимаю, это правильная), а возле некоторых почему то latin1_swedish_ci.
И что делать? изменить там где latin1_swedish_ci. на 1251 ? Но как? нет такой опции там

CedarMill

При помощи чего делался бекап базы данных форума и как устанавливался бекап на новый хостинг?
Напротив каких записей BD стоит latin1_swedish_ci ?

P.S. Для нормального переноса BD форума (с хостинга на другой хостинг), лучше использовать софт http://sypex.net/
I love SMF and Joomla!

Idrassil

Бекап делался средствами форума СМФ.. но залить БД назад на сайт я не смог, рнрmyadmin выдал что "большой раздел бд", или что то такое, через панель хостинга тоже не удалось.

Вот скрин
https://www.simplemachines.ru/radikal/s41/i094/1005/7c/b4b52e593d78.jpg

Кстати, еще - cp1251_bin и cp1251_general_ci это одно и тоже? А то у меня 1 таблица в той кодировке, а другая в такой.

CedarMill

#284
Рекомендую прислушаться к тому, что писали здесь: http://www.simplemachines.ru/index.php?topic=791.msg59645#msg59645
только там речь о кодировке utf, но там правильно сказано, прежде чем ставить backup базы данных форума на новый хостинг:
ЦитироватьНадо было сразу создавать базу с кодировкой сравнения - cp1251_general_ci, а не по умолчанию.

а также прочитать статью:
Подготовка к установке и обновлению форума. Кодировка windows-1251 http://www.simplemachines.ru/index.php?topic=1376.0
там написано:
Цитироватьдля тех кто не знает как перевести бд в нужную кодировку, нужно выполнить следующий запрос к БД:
ALTER DATABASE `namedatabase` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci


P.s. перед любыми операциями с базой данных - создавайте копии BD на свой ПК!  ;)
I love SMF and Joomla!

Idrassil

Спасибо вам за ответ, пойду разбираться с этим всем.
ЦитироватьP.s. перед любыми операциями с базой данных - создавайте копии BD на свой ПК!  ;)
Я сохранил бд, правда трехдневной давности, но пофиг. Назад ее закачать никак не могу :'(

Фея

ребята, пожалуйста, помогите! Не пойму, что случилось. На форуме вместо букв - одни иероглифы. Звонят со всех концов страны - у многих важные переговоры с врачами накрываются. Подскажите, пожалуйста! Что это может быть? Вот форум  http://forum.detiangeli.ru/index.php

lexus

В принципе кодировка страницы 1251, если поменять вручную, то страница отображается нормально. А вот в заголовке
Цитировать<meta http-equiv="Content-Type" content="text/html; charset=" />

Фея

не поняла, что в заголовке? А с чем это может быть связано?

0daliska

Цитата: Ассоль от 22 мая 2010, 21:35:44
не поняла, что в заголовке? А с чем это может быть связано?
Что делали с файлами темы или с файлами локализации?

index.russian.php удалена (некорректно прописана) какая-то строка или удалили сам файл...
Смотрим Themes/default/languages
Быстрое решение проблемы - из дистрибутива (русской локализации) взять этот файл и заменить свой в указанной папке
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Фея


MiTyaj

Цитироватьно этот файл там на месте

Там не только charset слетел. Явно где то что то не то..
здесь вот например http://forum.detiangeli.ru/index.php?PHPSESSID=km85m1nm9kovu9uo5artkhane2&board=63.0
даже help к значкам внизу страницы пропал, и копирайты потерялись.. Явно что то где то подтёрли, мож мод какой неудачно ставили?
Митяй..

Фея

в том-то вся и суть - что не ставили ничего. В админку не могу попасть - открывается белым листом

Фея


MiTyaj

Да дело то не в копирайтах, у Вас явно что-то с файликами, половина переменных просто исчезла. Я бы на Вашем месте залез по FTP и всё проверил, где что не хватает, да и содержание бы посмотрел.  0daliska ведь написала - перезалейте файлы с дистрибутива, самый действенный способ.  А вообще странно, даже сейчас на Вашем форуме идёт общение.
Митяй..

Фея

многие заходят через  кодировку страницы 1251.  А почему в админку нет доступа?

MiTyaj

Ну вот, смотрю файлик перезалили.

ЦитироватьА почему в админку нет доступа?

Может из-за этого
ЦитироватьНевозможно загрузить 'Errors' шаблон.
Просто верните те файлы которые случайно удалили из папки default и всё будет работать. Взять их в том же дистрибутиве.
Митяй..

Фея

всё перезалила - проблема осталась

MiTyaj

ну я то вхожу к Вам, и значит у Вас должно всё работать
Митяй..

Фея

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