1

Тема: и снова проблема с импортом

нубас издаёт сигнал SOS.
давно забрал базу с хоста и импортировал себе. база в кодировке windows-1251.
Вот что у меня с правой стороны написано:

Версия программы: 5.5.25 - MySQL Community Server (GPL)
Версия протокола: 10
Кодировка сервера: UTF-8 Unicode (utf8)
Веб-сервер
Apache/2.2.22 (Win32) mod_ssl/2.2.22 OpenSSL/1.0.1c PHP/5.2.12
Версия клиента базы данных: libmysql - 5.0.51a
PHP расширение: mysqli 
phpMyAdmin
Информация о версии: 3.5.1, последняя стабильная версия: 3.5.6

Добавлял в таблицы базы новые строки и данные в эти строки. И вот когда дело подошло к концу, дай думаю попробую выгрузить эту базу от себя и загрузить её снова себе... и тут началось...


Сопоставление кодировки ставлю cp1251_general_ci. Создаю базу сравнение ставлю такое же. Кодировку импортируемого файла ставлю windows-1251. Режим совместимости mysql323 и mysql40 тоже пробовал. В результате несколько таблиц заполняются краказябрами (Ноутбуки) там где была кирилица. И упирается всё в ошибку:

#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 'Карта памяти Silicon Power Micro SDHC', 'Memo' at line 11

Из шапки слитого файла .sql:

-- phpMyAdmin SQL Dump
-- version 3.5.1
-- http://www.phpmyadmin.net
--
-- Хост: 127.0.0.1
-- Время создания: Фев 14 2013 г., 01:24
-- Версия сервера: 5.5.25
-- Версия PHP: 5.2.12

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES cp1251 */;

До этого пришлось все TYPE заменить на Engine, иначе стопорилось рядом с тайпом ...
нужна помощь

2

Re: и снова проблема с импортом

fawr сказал:

Кодировку импортируемого файла ставлю windows-1251.

Попробуйте этого не делать. Оставьте кодировку файла utf-8.

fawr сказал:

Режим совместимости mysql323 и mysql40 тоже пробовал.

Если локально и на сервере MySQL версии выше 5.0, то режим совместимости ставить не надо.

Посмотрите на данные в дампе открыв его текстовым редактором вроде Notepad++. Там будет видно в каком виде находится кириллица. Ошибку тоже посмотрите в дампе; по выводу непонятно в чем она заключается.

3

Re: и снова проблема с импортом

ооогромнейшее спасибо великий гуру!
в догоночку ещё контрольный вопрос:

Версия сервера: 5.0.82sp1
Версия протокола: 10
MySQL-кодировка: UTF-8 Unicode (utf8)
Сопоставление соединения с MySQL:  utf8_unicode_ci
phpMyAdmin - 2.11.11
Версия MySQL-клиента: 5.0.82sp1
Используется расширение PHP: mysql
язык: русский

какие могут быть подводные камни при импорте на хостинг?

4

Re: и снова проблема с импортом

fawr сказал:

какие могут быть подводные камни при импорте на хостинг?

Никаких проблем быть не должно, просто ничего не трогайте на странице экспорта и импорта в phpMyAdmin.

Можете посмотреть вывод запроса указывающего глобальную кодировку соединения с MySQL (character_set_connection):

SHOW GLOBAL VARIABLES LIKE "char%";

Если локально и удаленно будут одни значения, то проблем не будет, если разные, то надо смотреть настройки скрипта и указать в ней кодировку соединения с MySQL в явном виде (большинство скриптов поддерживают такую настройку).