Ответить
  • Mihalych Senior MemberАвтор темы
    офлайн
    Mihalych Senior Member Автор темы

    723

    21 год на сайте
    пользователь #3509

    Профиль
    Написать сообщение

    723
    # 15 сентября 2003 18:06

    Народ, кто может посоветовать довольно быстрый хостинг?

    (никаких PHP/MySQL/Perl etc не нужно)



    *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

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

    Объясните, пожалуйста (хостинг, домен)

    Название темы изменено. edit by Артёмка. 03.05.05.

    *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

  • mianchuk Senior Member
    офлайн
    mianchuk Senior Member

    5458

    12 лет на сайте
    пользователь #425568

    Профиль
    Написать сообщение

    5458
    # 21 октября 2015 22:15 Редактировалось mianchuk, 1 раз.
    1n1m1cus:

    - есть защита от взломов, на хостере раз в два месяца стабильно ломали - тут уже пол года полёт нормальный

    Каким образом защита реализована?

    Раз в два месяца ломали - а причину взлома Вы находили, устраняли? А то ведь и каждый день могут ломать, если дыры не закрывать.

  • lexin1997 Neophyte Poster
    офлайн
    lexin1997 Neophyte Poster

    10

    9 лет на сайте
    пользователь #1197412

    Профиль
    Написать сообщение

    10
    # 22 октября 2015 08:55

    [censored by mp_onliner]

  • UltraMax Senior Member
    офлайн
    UltraMax Senior Member

    7814

    22 года на сайте
    пользователь #1258

    Профиль
    Написать сообщение

    7814
    # 25 февраля 2016 14:07 Редактировалось UltraMax, 1 раз.

    Может кто-то подскажет по настройкам mysql

    Имеется хостинг, в штатах. На нем работают на php + mysql программы, которые успешно выводят пользователям текст в кириллице.
    Но если заходить через PHPMyAdmin то все отражается примерно такими кракозябрами

    äà, ïðîøëîãî ìîæíî, è äàæå ï...

    если зайти вот в этот декодер то он в принципе декодирует в нормальные слова при этом пишет

    Как нам пришлось помучиться
    CP1252 → CP1251

    Насколлько я понимаю, проблема в том, что phpmyadmin показывает вот что

    Но сами поля в таблице записаны как latin1_general_ci (collation) и если туда попытаться через phpmyadmin добавить что-то в кириллице оно ргуается и добавляет туда ????? вместо текста, хотя сама работающая программа на php добавляет в базу нормально (так как select потом тоже нормально отражает кириллицу)

    У меня вопрос, можно ли как-то сделать так, чтобы корректно поменять этот latin1_general_ci чтобы там отражалась кириллица? Если я в самой таблице поменяю это на utf8_unicode_ci - отражаются теже кракозябры. Если не дай бог на cp1251_general_ci то весь кириллический текст начинает отражаться как знаки вопроса (?????) причем это безвовзратная операция, то есть я теряю весь текст!!! Хорошо что на копии проверил предварительно

    При попытке сделать export в sql файл - тоже кракозябрами все - то есть надо будет текст перегонять через какой-то конвертер, что делать не очень охота. Можно ли как-то тут настройками обыграть? Или все-таки дампить в sql - переконвертировать - пересоздавать таблицу в UTF8 и потом уже туда заливать?

  • zettich Onliner Auto Club
    офлайн
    zettich Onliner Auto Club

    5564

    21 год на сайте
    пользователь #7853

    Профиль
    Написать сообщение

    5564
    # 25 февраля 2016 21:28 Редактировалось zettich, 1 раз.

    UltraMax, проблема в тех, кто делал изначально таблицы и заливал. проблема в первоначальном дампе, где неверно была указана кодировка таблиц или вобще не была указана и применился default character set.

    берете оригинал базы, смотрите в обычном текстовом редакторе чтобы визуально русские символы в базе читались. далее ищите в дампе latin1 и меняете прямо в этом же текстовом редакторе на utf8. файл сохраняете в utf8. заливаете базу.

    если нужно сдампить текущую - по ssh с выставлением кодировки latin1. он тогда не будет конвертировать при дампе.

  • FeRan.minsk Neophyte Poster
    офлайн
    FeRan.minsk Neophyte Poster

    23

    17 лет на сайте
    пользователь #84815

    Профиль
    Написать сообщение

    23
    # 26 февраля 2016 12:59 Редактировалось FeRan.minsk, 1 раз.

    можно поменять. Вначале сделать для всех текстовых полей тип BLOB (в нем не содержится информации о кодировке)
    А потом обратно поменять на тот тип, который был, но уже с правильной кодировкой.
    Где-то была у меня готовая программа. Спасала несколько раз...

    <?php
    /* $Id: mysqlupgrade.php,v 1.3 2005/01/31 22:04:02 shimon Exp $ */
    // upgrade CHARACTER SET for MySQL 4.1.0 +
    //
    // Did you export all databases including mysql database before runing this file ?
    //
    // known bug of this program it dont know to treat FULLTEXT index
    //
    //by Shimon Doodkin shimon_d@hotmail.com

    $conn = mysql_connect("localhost", "root", "toor");
    $printonly = false; //change this to false to alter on the fly
    $charset="cp1251";
    $collate="cp1251_general_ci";
    $altertablecharset=true;
    $alterdatabasecharser=true;

    function PMA_getDbCollation($db)
    {
    $sq='SHOW CREATE DATABASE `'.$db.'`;';
    $res = mysql_query($sq);
    if(!$res) echo "\n\n".$sq."\n".mysql_error()."\n\n"; else
    if($row = mysql_fetch_array($res))
    {
    $tokenized = explode(' ', $row[1]);
    unset($row, $res, $sql_query);
    for ($i = 1; $i + 3 < count($tokenized); $i++)
    {
    if ($tokenized[$i] == 'DEFAULT' && $tokenized[$i + 1] == 'CHARACTER' && $tokenized[$i + 2] == 'SET')
    {
    if (isset($tokenized[$i + 5]) && $tokenized[$i + 4] == 'COLLATE')
    {
    return array($tokenized [$i + 3],$tokenized[$i + 5]); // We found the collation!
    }
    else
    {
    return array($tokenized [$i + 3]);
    }
    }
    }
    }
    return '';
    }

    ?>
    <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1251<? //remember to change it if needed ?>" />
    <xmp>
    <?

    // работаем только с одной выбранной базолй данных

    $db = 'd_grib';
    $db_cha=PMA_getDbCollation($db);
    if ( $db!='mysql' /* &&( $db=='mydb_x' || $db=='mydb_y' ) */ ) // limit to database(s) - $db=='mydb_x' || $db=='mydb_y' || $db=='mydb_z'
    if ( substr($db_cha[0],0,4)!='utf8' ) // limit to charset
    {
    mysql_select_db($db);
    $rs = mysql_query("SHOW TABLES");
    if(!$rs) echo "\n\n".$sq."\n".mysql_error()."\n\n"; else
    while ($data = mysql_fetch_row($rs))
    {
    $rs1 = mysql_query("show FULL columns from $data[0]");
    if(!$rs1) echo "\n\n".$sq."\n".mysql_error()."\n\n"; else
    while ($data1 = mysql_fetch_assoc($rs1))
    {
    if(in_array(array_shift(split("\\(",$data1['Type'],2)),array(
    //'national char',
    //'nchar',
    //'national varchar',
    //'nvarchar',
    'char',
    'varchar',
    'tinytext',
    'text',
    'mediumtext',
    'longtext',
    'enum',
    'set'
    )))
    {
    if(substr($data1['Collation'],0,4)!='utf8') // limit to charset
    {
    $sq="ALTER TABLE `$data[0]` CHANGE `".$data1['Field'].'` `'.$data1['Field'].'` '.$data1['Type'].' CHARACTER SET binary '.($data1['Default']==''?'':($data1['Default']=='NULL'?' DEFAULT NULL':' DEFAULT \''.mysql_escape_string($data1['Default']).'\'')).($data1['Null']=='YES'?' NULL ':' NOT NULL').';';
    if(!$printonly&&!mysql_query($sq)) echo "\n\n".$sq."\n".mysql_error()."\n\n";
    else
    {
    echo ($sq."\n";) ;
    $sq="ALTER TABLE `$data[0]` CHANGE `".$data1['Field'].'` `'.$data1['Field'].'` '.$data1['Type']." CHARACTER SET $charset ".($collate==''?'':"COLLATE $collate";).($data1['Default']==''?'':($data1['Default']=='NULL'?' DEFAULT NULL':' DEFAULT \''.mysql_escape_string($data1['Default']).'\'')).($data1['Null']=='YES'?' NULL ':' NOT NULL').($data1['Comment']==''?'':' COMMENT \''.mysql_escape_string($data1['Comment']).'\'').';';
    if(!$printonly&&!mysql_query($sq)) echo "\n\n".$sq."\n".mysql_error()."\n\n";
    else echo ($sq."\n";) ;
    }
    }
    }
    }
    if($altertablecharset)
    {
    /*
    $sq='ALTER TABLE `'.$data[0]."` DEFAULT CHARACTER SET binary";
    echo ($sq."\n";) ;
    if(!mysql_query($sq)) echo "\n\n".$sq."\n".mysql_error()."\n\n";
    */
    $sq='ALTER TABLE `'.$data[0]."` DEFAULT CHARACTER SET $charset ".($collate==''?'':"COLLATE $collate");
    echo ($sq."\n";) ;
    if(!$printonly)
    if(!mysql_query($sq)) echo "\n\n".$sq."\n".mysql_error()."\n\n";
    }
    }
    if($alterdatabasecharser)
    {
    /*
    $sq='ALTER DATABASE `'.$data2[0]."` DEFAULT CHARACTER SET binary";
    echo ($sq."\n";) ;
    if(!mysql_query($sq)) echo "\n\n".$sq."\n".mysql_error()."\n\n";
    */
    $sq='ALTER DATABASE `'.$db."` DEFAULT CHARACTER SET $charset ".($collate==''?'':"COLLATE $collate");
    echo ($sq."\n";) ;
    if(!$printonly)
    if(!mysql_query($sq)) echo "\n\n".$sq."\n".mysql_error()."\n\n";
    }
    }

    ?>
    </xmp>

  • UltraMax Senior Member
    офлайн
    UltraMax Senior Member

    7814

    22 года на сайте
    пользователь #1258

    Профиль
    Написать сообщение

    7814
    # 26 февраля 2016 18:51 Редактировалось UltraMax, 1 раз.
    Игорь Зеттич:

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

    Не совсем понял, как взять оригинал базы. Я могу это сделать только через phpmyadmin - доступа по ssh? увы нет :(
    В Phpmyadmin есть стандартная закладка export, там с оцпями кодировки можно играться только в Character set of the file: - в нем что-то выставить?

    FeRan.minsk:

    можно поменять. Вначале сделать для всех текстовых полей тип BLOB (в нем не содержится информации о кодировке)
    А потом обратно поменять на тот тип, который был, но уже с правильной кодировкой.
    Где-то была у меня готовая программа. Спасала несколько раз...

    Не понял, так меняем типы полей и все ок? Или еще и программу прогонять?

  • zettich Onliner Auto Club
    офлайн
    zettich Onliner Auto Club

    5564

    21 год на сайте
    пользователь #7853

    Профиль
    Написать сообщение

    5564
    # 26 февраля 2016 21:24

    UltraMax, попробуйте слить дамп в кодировке latin1 phpmyadmin-ом.

  • UltraMax Senior Member
    офлайн
    UltraMax Senior Member

    7814

    22 года на сайте
    пользователь #1258

    Профиль
    Написать сообщение

    7814
    # 29 февраля 2016 15:30
    Игорь Зеттич:

    UltraMax, попробуйте слить дамп в кодировке latin1 phpmyadmin-ом.

    Бинго - получилось в нормальной кодировке :)
    Теперь осталось слить полную базу, пересоздать в utf8 и затем уже залить туда заново. Спасибо :)

  • zettich Onliner Auto Club
    офлайн
    zettich Onliner Auto Club

    5564

    21 год на сайте
    пользователь #7853

    Профиль
    Написать сообщение

    5564
    # 29 февраля 2016 16:55

    UltraMax, в дампе ручками не забудьте кодировку поменять.

  • UltraMax Senior Member
    офлайн
    UltraMax Senior Member

    7814

    22 года на сайте
    пользователь #1258

    Профиль
    Написать сообщение

    7814
    # 1 марта 2016 17:47
    Игорь Зеттич:

    UltraMax, в дампе ручками не забудьте кодировку поменять.

    На что? Ставил UTF8, ставил win1251 - при импорте вот такая кодировка получается в phpmyadmin

    Как-то пафосно Максим напис...

    поля новой таблицы создаются как

    `text` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,

    можно попробовать создавать как win1251 - но хочется сразу в UTF8.... буду продолжать пытаться

  • zettich Onliner Auto Club
    офлайн
    zettich Onliner Auto Club

    5564

    21 год на сайте
    пользователь #7853

    Профиль
    Написать сообщение

    5564
    # 1 марта 2016 17:57

    UltraMax, вы при просмотре дампа визуально в текстовом редакторе, открыв файл как UTF-8, видите русские символы? на главной странице phpMyAdmin выбрана кодировка отображения utf-8?

  • UltraMax Senior Member
    офлайн
    UltraMax Senior Member

    7814

    22 года на сайте
    пользователь #1258

    Профиль
    Написать сообщение

    7814
    # 2 марта 2016 13:23 Редактировалось UltraMax, 1 раз.
    Игорь Зеттич:

    UltraMax, вы при просмотре дампа визуально в текстовом редакторе, открыв файл как UTF-8, видите русские символы? на главной странице phpMyAdmin выбрана кодировка отображения utf-8?

    Скачал как win1251. Переконвертировал в UTF8 (видно и в Notepad++ и в Lister от Total Commander что это реально UTF8)
    Захожу в Import - выбираю там sql файл, Character set of the file - utf8 - и получаю то, о чем писал выше

    Попытался залить в win1251 (соответственно и при импорте указал Character set of the file - win1251). Теже кракозябры

  • zettich Onliner Auto Club
    офлайн
    zettich Onliner Auto Club

    5564

    21 год на сайте
    пользователь #7853

    Профиль
    Написать сообщение

    5564
    # 2 марта 2016 15:53

    UltraMax, пришлите мне дамп в личку если это приемлемо :-)

  • UltraMax Senior Member
    офлайн
    UltraMax Senior Member

    7814

    22 года на сайте
    пользователь #1258

    Профиль
    Написать сообщение

    7814
    # 3 марта 2016 13:55

    Огромное спасибо Игорь Зеттич, за помощь в анализе дампа :)
    Все дело было в том, что как мне казалось не должно было читаться сервером (комменты), а он их читал, а там было latin1

    Тут вот описана данная ситуация

  • 62310 Passat B6 Club
    офлайн
    62310 Passat B6 Club

    1436

    17 лет на сайте
    пользователь #62310

    Профиль
    Написать сообщение

    1436
    # 19 октября 2016 10:23 Редактировалось 62310, 2 раз(а).

    Добрый день!
    Хостинг на afreecloud. Перестал открываться сайт клиентам провайдера космоств. Именно космосу недоступен. У остальных всё хорошо. В чём может быть проблема? Поддержка космоса "кивает" на настройки хостинга. Но там ничего не менялось с мая месяца.
    Что делать?

    ©
  • mianchuk Senior Member
    офлайн
    mianchuk Senior Member

    5458

    12 лет на сайте
    пользователь #425568

    Профиль
    Написать сообщение

    5458
    # 19 октября 2016 12:44

    Jo Jonson, На сервере подсеть в блэклист занесена. Скорее всего, из нее DDOS-атака происходила, поэтому всю подсеть и заблокировали. Обращайтесь к хостеру с указанием IP адресов, для которых сайт недоступен.

  • UltraMax Senior Member
    офлайн
    UltraMax Senior Member

    7814

    22 года на сайте
    пользователь #1258

    Профиль
    Написать сообщение

    7814
    # 22 марта 2017 02:05 Редактировалось UltraMax, 1 раз.

    Дошли наконец-то руки для смены кодировки на хостинге
    Слил дамп (пришлось разбивать на части, иначе выдавало ошибки)
    После изменения на UTF-8 вроде бы начинает заливаться, но потом выдает ошибку

    Error: 1064 SQLSTATE: 42000 (ER_PARSE_ERROR)
    Message: %s near '%s' at line %d

    Похоже какие-то символы не воспринимаются... А нельзя сразу в самой базе изменить кодировку записей без экспорта - изменения кодировки - заливки обратно?

  • paha_kish Junior Member
    офлайн
    paha_kish Junior Member

    91

    10 лет на сайте
    пользователь #823179

    Профиль
    Написать сообщение

    91
    # 22 марта 2017 10:16 Редактировалось paha_kish, 1 раз.
    UltraMax:

    Дошли наконец-то руки для смены кодировки на хостинге
    Слил дамп (пришлось разбивать на части, иначе выдавало ошибки)
    После изменения на UTF-8 вроде бы начинает заливаться, но потом выдает ошибку

    Error: 1064 SQLSTATE: 42000 (ER_PARSE_ERROR)
    Message: %s near '%s' at line %d

    Похоже какие-то символы не воспринимаются... А нельзя сразу в самой базе изменить кодировку записей без экспорта - изменения кодировки - заливки обратно?

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

    Ошибка которую Вы приводите говорит о некорректном содержимом дампа.

    Мне сложно предложить какие либо решения, с подобной проблемой нужно разбираться индивидуально, зачастую проще изменить настройки на самом сервере, что бы не заниматься перекодированием

  • UltraMax Senior Member
    офлайн
    UltraMax Senior Member

    7814

    22 года на сайте
    пользователь #1258

    Профиль
    Написать сообщение

    7814
    # 22 марта 2017 16:14 Редактировалось UltraMax, 2 раз(а).
    paha_kish:

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

    Да я бы с удовольствием... Все, что я смог пока добиться, переделать таблицу в UTF-8 (collation - utf8_unicode_ci) - но там все равно все лежит в latin1 - и поэтому читается неправильно ( вот так

    Áðóòàëüíà çàòðûìàíû êí³ãàíîøà Àëåñü ߢäàõà

    Как сам контент базы (при помощи phpmyadmin) можно перекодировать в utf-8?

    Ну и вопрос, когда я на тестовой таблице сделал все в utf-8 (слил - переконвертировал - залил) то в самой базе (phpmyadmin) все стало читаться великолепно. Но вот php код выводящий текст выводит одни вопросы... Может быть там еще и сервер что-то мутит с кодировкой

    А все началось, после того, как хостер обновился с php 5.4 на 5.6 (и говорит, что больше ничего не обновлял)

  • paha_kish Junior Member
    офлайн
    paha_kish Junior Member

    91

    10 лет на сайте
    пользователь #823179

    Профиль
    Написать сообщение

    91
    # 22 марта 2017 16:31

    само по себе обновление версии php не приводит к подобным проблемам, скорее всего изменилась кодировка на сервере, или в настройках сервера баз данных, или нужно добавить строку в .htaccess вида AddDefaultCharset CP1251 или utf8

    в самом дампе можно поменять кодировку с помощью утилиты iconv