форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
на хостинге РБК были какие-то проблемы с базами данных, не открывались сайты (у меня два разных, но на одном домене)
когда хостинг заработал, я обнаружил, что русский текст в базах перекодировался в непонятно что и теперь там крякозябли типа ?�????????????
Ничего с базами данных я не делал. Один раз заходил в phpmyadmin до всего этього, но не трогал ничего да и тогда по моему все было норм.
что можно теперь придумать, если я не делал бекапов?
Неактивен
1. узнать у РБК что происходило с базами
2. в PMA посмотреть на базу - что с данными? может изменились только кодировки?
3. Попробовать с помощью скрипта sypex dumper перенсти базу на локальный сервер и поиграться с настройками.
Все это, конечно, если сами в Pma случайно чего не нажали
Неактивен
sypex dumper сграбил мне мою базу в ней текст читается легко.
зашел снова в PMA, там: MySQL-кодировка: UTF-8 Unicode (utf8) и Сопоставление соединения с MySQL: UTF8_Unicode_ci
получается сам ТХП как-то не так воспринимает поля?
п.с. нашел поле в начале дампа ENGINE=MyISAM /*!40101 DEFAULT CHARSET=cp1251 */; это ли причина?
Отредактированно Vlado (11-10-2009 22:51:53)
Неактивен
Вы дамп не трогайте - я всегда его переносил как есть и все работало с первого раза. Сам тхп никак не меняет кодировку - то, что ему отдает mysql, то он и показывает. На локальный сервер удалось перенести сайт?
Неактивен
syntex dumper = sypex dumper ?
Неактивен
Точно, неверно вспомнил название. Подправил свои сообщения, прошу прощения и благодарю за подсказку
Неактивен
не знаю какие вы ошибки там исправили я и с ними все нашел
вот пока только почему-то хостер не телится с восстановлением из его бекапа, как обещал.
так что я пока его жду перед заливкой на локальный сервер.
Неактивен
решил попробовать на localhost все слепить-запутался.
базы данных то нет, создал какую-то в РМА, кинул папку с ТХП в денвер, запускаю установку.
пишет mysql_connect() [function.mysql-connect]: Access denied for user 'h3b_vlado'@'localhost'
но пароль то нет. что делать?
решил просто импортировать. в денверском РМА нет вообще импорта, sypex dumper самособой вообще не коннектится((
Неактивен
Как-то вы путано пишите Дампер отлично работает - проверьте указанный адрес сервера и логин\пароль. То же относится и к настройкам логин\пароль и адрес mysql сервера. Очевидно, что вы где-то ошиблись.
Неактивен
дампер работает отлично, проблема не в нем.
я первый раз в жизни создаю БД с нуля, соответственно на локалхосте я ее не так и создал, отсюда и проблемы с соединением.
пока поиск информации тут и в сети в целом новых мыслей не дал.
все-таки нашел. в денвере оказывается логин root и пароль пустой, для базы данных. с ними установка прошла.
sypex'ом я импортировал дамп, но кодировка все также крякозябная...
у меня подозрения, что у хостера что-то поменялось, они быстренько залили бекапы, а они были в 1251й кодировке
поменял поля в дампе, залил его на локалхост, крякозябры изменились)) но не вернулись в нужный вид
по запросу вышло, что:
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8
а у хостера:
character_set_client utf8
character_set_connection utf8
character_set_database cp1251
character_set_results utf8
character_set_server cp1251
character_set_system utf8
тоесть, сервер все-таки на 1251й кс теперь думаю как ее поменять
и так вот, что я сделал и что имею, на 23:10
установил ТХП на локале по новой, залил туда все, исправил config.php, в дампе все что связано с 1251 поменял на utf8, залил дамп, в настройках mysql (my.cnf) :
[client] default-character-set = cp1251
# Кодировка баз данных по умолчанию.
default-character-set = utf8
init-connect = "set names utf8"
в РМА стоят теперь поля
character set client utf8 utf8
character set connection utf8 utf8
character set database utf8 utf8
character set filesystem binary binary
character set results utf8 utf8
character set server utf8 utf8
character set system utf8 utf8
collation connection utf8_unicode_ci utf8_general_ci
collation database utf8_general_ci utf8_general_ci
collation server utf8_general_ci utf8_general_ci
init connect set names utf8 set names utf8
т.е. все везде на юникоде. в итоге на локале сайт работает.
осталось 2 вопросоа. - как перенести все настройки на хостера? - модно ли так, как я сделал, не будут ли косяки от этого?
Отредактированно Vlado (13-10-2009 23:18:20)
Неактивен
никак не могу разобраться
написал даже в другом форуме http://sqlinfo.ru/forum/viewtopic.php?pid=11134
пока даже не знаю, верно ли пишу в txplib_db.php:
mysql_query("set names utf8");
mysql_query("set character set client=utf8");
mysql_query("set character set database=utf8");
mysql_query("set character set server=utf8");
mysql_query("set collation database=utf8_unicode_ci");
mysql_query("set collation server=utf8_unicode_ci");
Неактивен
утонула тема кажется...
я вот таким кодом
header("Content-Type: text/html; charset=utf8");
$sql = "SET NAMES cp1251";
$result = mysql_query($sql) or die(mysql_error());
$sql = "SELECT * FROM textpattern LIMIT 1";
$result = mysql_query($sql) or die(mysql_error());
if($aRow = mysql_fetch_assoc($result)) {
print_r($aRow);
}
успешно вывожу текст в читаемом виде
но не знаю как для текспаттерна прописать SET NAMES cp1251
(((
Неактивен
уф, с помощью службы поддержки наладилось все, надеюсь надолго
Неактивен