vlartes 0 Опубликовано: 16 ноября 2012 Рассказать Опубликовано: 16 ноября 2012 В общем, изначально сайт был на Ucoz'е посредством скрипта вся база данных была перенесена на новый сайт на dle, весрия dle 8.5. Но теперь почему-то у пользователей перенесённых на сайт искуственно, возникает проблема со входом: "Пароль или логин не подходит". Хотя если копировать ник из админки, и поменять вручную пароль на новый не из базы, то входит нормально. Правда в профиле не отображается таблица с информации о пользователе выдавая ошибку "Данный пользователь не найден". Может быть проблема с кодировкой возникла, на юкозе UTF-8, а тут CP1251. Хотя в скрипте этот момент вроде обрабатывается. Адрес на сайт: http://spmega.ts6.ru/ За ранее спасибо. Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 16 ноября 2012 Рассказать Опубликовано: 16 ноября 2012 Может быть проблема с кодировкой возникла, на юкозе UTF-8, а тут CP1251. Хотя в скрипте этот момент вроде обрабатывается. Конечно может, при переносе UTF-8 нужно конвертировать в cp1251, это разные форматы хранения данных. Ссылка на сообщение Поделиться на других сайтах
vlartes 0 Опубликовано: 16 ноября 2012 Рассказать Опубликовано: 16 ноября 2012 Автор Может быть проблема с кодировкой возникла, на юкозе UTF-8, а тут CP1251. Хотя в скрипте этот момент вроде обрабатывается. Конечно может, при переносе UTF-8 нужно конвертировать в cp1251, это разные форматы хранения данных. В самом скрипте осуществляется эта конвертация Вот код допустим конвертатора пользователей: <?php include "config.php"; $filename = "../ucoz/_s1/users.txt"; $fd = fopen($filename, "r"); $i = 0; mysql_query("SET CHARACTER SET Windows-1251"); mysql_query("ALTER TABLE 'dle_users' CHANGE 'name' 'name' VARCHAR( 255 ) NOT NULL; ALTER TABLE 'dle_users' CHANGE 'fullname' 'fullname' VARCHAR( 255 ) NOT NULL;"); echo "Лог ковертирования<br>"; while (!feof ($fd)) { $bufer[$i] = fgets($fd, 4096); $bufer[$i] = iconv("UTF-8", "Windows-1251", "$bufer[$i]"); $arr = explode("|", $bufer[$i]); $i++; if($arr[0] != ""){ $query = "INSERT IGNORE INTO dle_users (`email`, `password`, `name`, `news_num`, `comm_num`, `user_group`, `lastdate`, `reg_date`, `banned`, `allow_mail`, `info`, `signature`, `foto`, `fullname`, `land`, `icq`, `favorites`, `pm_all`, `pm_unread`, `time_limit`, `xfields`, `allowed_ip`, `hash`, `logged_ip`, `restricted`, `restricted_days`, `restricted_date`) VALUES ('$arr[7]', '$arr[2]', '$arr[0]', 0, 0, 4, '', '$arr[15]', '', 1, '', '$arr[13]', '', '$arr[5]', '$arr[10]', '$arr[9]', '', 0, 0, '', '', '', '', '$arr[16]', 0, 0, ''); "; $result = mysql_query($query); if(!$result) { echo ("<font color=red>MySQL вернула ошибку <br><textarea style='width: 300px; height: 200px'>".mysql_error()."</textarea><br> в коде <br><textarea style='width: 300px; height: 200px'>{$query}</textarea><br><br></font>");} else echo "Пользователь «$arr[0]» успешно сконвертирован<br>"; } } fclose($fd); echo "Конвертация пользователей завершена!<br>"; ?>[/php] Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 16 ноября 2012 Рассказать Опубликовано: 16 ноября 2012 Не посмотрел сразу на ваш сайт. Вы используете нелегальную копию скрипта http://forum.dle-news.ru/index.php?showannouncement=1&f=46 , в доступе и помощи вам отказано. Доступ на форуме заблокирован. 1 Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения