We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 11334
    • 13 Posts
    Мне не удаётся импортировать базу данных -

    MySQL said:
    #1064 - You have an error in your SQL syntax;
    check the manual that corresponds to your MySQL server version
    for the right syntax to use near
    .

    Кодировка в файле .sql - (предположительно) utf8_unicode_ci .

    Импорт затыкается на полях, содержащих код апострофа
    внутри кодированных стрингов, например:
    'РўС_Р_С_РёРєРё, РєРёС_Р_С_С'РёРєРё, С_РёР_Р_Р°С'С_С_С<, Р°Р_С+С_Р_Р_Р_РёРєРё'
    


    Что посоветуете ?

    ps.
    Fuzzy in ~Кириллица, UTF8 и MySQL~[/url]"]
    Дабы народу помочь,
      Digrigible: { Gri to Zi -> Zi to Gri } Дигрижабль: { Gri to Fuzzy -> Fuzzy to Gri }
      ** Your Gritoadmixes to Gri ** Ваши Грижаблики to Gri
      • 7419
      • 13 Posts
      mysql_real_escape_string() (только к бинарным данным это лучше применять)
        Кто умеет - делает.
        Кто не умеет - учит.
        • 11334
        • 13 Posts
        dim.nov in ~Gri to Fuzzy~[/url]"]
        mysql_real_escape_string()

        Вы, естественно, не угадали с оценкой подготовленности собеседника.

        Изложите, пожалуйста, что именно следует выполнить
        с файлом .sql (30 Mb) при помощи означенной функции -
        максимально подробно, как если бы Ваш собеседник
        впервые в жизни увидел страницу phpMyAdmin
        и не имел представления о MySQL и синтаксисе SQL-запросов.

        Предполагаю, что материал инструктивного характера,
        предназначенный для меня, - лучше размещать на моём форуме.
          Digrigible: { Gri to Zi -> Zi to Gri } Дигрижабль: { Gri to Fuzzy -> Fuzzy to Gri }
          ** Your Gritoadmixes to Gri ** Ваши Грижаблики to Gri
          • 7419
          • 13 Posts
          Если файл .sql это дамп базы который Вы пытаетесь импортировать с помощью phpMyAdmin, то проблема не в апострофах, а в размере файла.
          Дело в том, что при импорте файл сначала выгружается на сервер сохраняясь во временных файлах php, а уже потом обрабатывается. В php.ini есть параметр, отвечающий за максимально возможный размер файла, но он не может принимать значение более 8Мб.
          Я в своё время решил такую проблему используя Dumper.
            Кто умеет - делает.
            Кто не умеет - учит.
            • 11334
            • 13 Posts
            dim.nov[/url]"]
            проблема не в апострофах, а в размере файла.

            Проблему с кодировкой я не могу преодолеть
            на примере файла размером 2 Кб.
              Digrigible: { Gri to Zi -> Zi to Gri } Дигрижабль: { Gri to Fuzzy -> Fuzzy to Gri }
              ** Your Gritoadmixes to Gri ** Ваши Грижаблики to Gri
              • 32773
              • 118 Posts
              ТС, постарайтесь добиться для начала читаемости вашего дампа БД при просмотре обычным текстовым редактором.
                • 11334
                • 13 Posts
                x3m4ik[/url]"]
                ТС,
                постарайтесь добиться для начала читаемости вашего дампа БД
                при просмотре обычным текстовым редактором.

                Что означает "ТС" ?

                Посоветуйте проверенный Вами редактор utf8.
                  Digrigible: { Gri to Zi -> Zi to Gri } Дигрижабль: { Gri to Fuzzy -> Fuzzy to Gri }
                  ** Your Gritoadmixes to Gri ** Ваши Грижаблики to Gri
                  • 11255
                  • 193 Posts
                  советую notepad++
                    • 11334
                    • 13 Posts
                    Установил NotePad++ 5.5.1.

                    Перекодирование тестовой строки в UTF8
                    привело к отображению только некоторых букв русскими.

                    Как увеличить количество разных кодировок в меню "Кодировки" ?


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

                    Известны такие ?
                      Digrigible: { Gri to Zi -> Zi to Gri } Дигрижабль: { Gri to Fuzzy -> Fuzzy to Gri }
                      ** Your Gritoadmixes to Gri ** Ваши Грижаблики to Gri
                      • 11334
                      • 13 Posts
                      Вот таблица кодировки utf8
                      http://www.sci.kz/~sairan/kazcode/Table15.htm .

                      В моём случае
                      каким-то образом при экспорте базы данных MySQL
                      получилась кодировка, отличающаяся от ожидаемой utf8
                      для большинства букв (за исключением нескольких).

                      Например,
                      слово "сигнатуры" оказалось закодировано кодами :

                      D1 5F D0 B8 D0 5F D0 5F D0 B0 D1 27 D1 5F D1 5F D1 3C
                      .

                      Отсюда следует, что, в противоречии с кодировкой utf8,

                      "г" и "н" (строчные) получили одинаковый код Hex D0 5F ,
                      "р" и "с" и "у" (строчные) получили одинаковый код Hex D1 5F ,
                      буква "т" (строчная) получила код Hex D1 27 .

                      Правильный код сохранили
                      буква "а" (строчная) - Hex D0 B0 ,
                      буква "и" (строчная) - Hex D0 B8 ,
                      а также
                      буква "к" (строчная) - Hex D0 BА ,
                      буква "Т" (заглавная) - Hex D0 A2 .

                      На кодах, где встречается байт 27 ,
                      импорт затыкается с ошибкой #1064.


                      Что могло произойти в качестве причины путаницы ?
                      Можно ли предпринять что-то
                      для восстановления кодировки в правильную ?
                        Digrigible: { Gri to Zi -> Zi to Gri } Дигрижабль: { Gri to Fuzzy -> Fuzzy to Gri }
                        ** Your Gritoadmixes to Gri ** Ваши Грижаблики to Gri