[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с кодировкой
Dunix
Дело такое - сайт отлаживал на денвере, кодировка базы была в cp1251. Решил таки перенести на боевой хост, и тут попал в ловушку - одна кракозябра на сайте, либо вообще отсутствие символов, если импортировать в utf-8 в PMA. Решил выполнить перевод в админке - на сайте в местах перевода началось нормально отображаться. Пошёл смотреть дамп базы - иные кракозябры, выяснил, что это iso 8859-1 и хостинг адекватно его воспринимает. При помощи текстового редактора Kate (арендовал у друга ноут с линуксом) сконвертировал дамп денверовской базы в iso 8859-1 (notepad++ гнал), загрузил на сайт - заработало, однако символы всё-равно битые местами (да что местами - каждое слово минимум с 1 битым). Что делать? Линя под рукой нет, сразу говорю



Спустя 12 минут, 5 секунд (26.12.2011 - 10:53) alexbel2404 написал(а):
попробуй восстановить исходный дамп и сразу после выбора БД напиши mysql_query('SET NAMES cp1251');

Спустя 1 минута, 13 секунд (26.12.2011 - 10:54) Dunix написал(а):
пробую импортировать дамп, предварительно устнавливая значение кодировки файла в phpmyadmin (iso-8859-1)
Ошибка
SQL-запрос:

п»ї-- phpMyAdmin SQL Dump
-- version 3.2.3
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Dec 26, 2011 at 12:18 AM
-- Server version: 5.1.40
-- PHP Version: 5.2.12
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";


Ответ MySQL:

#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 '-- phpMyAdmin SQL Dump
-- version 3.2.3
-- http://www.phpmyadmin.net
--
--' at line 1

Спустя 10 минут (26.12.2011 - 11:04) Guest написал(а):
У тебя с одинарными кавычками трабла.

Спустя 6 минут, 5 секунд (26.12.2011 - 11:10) alexbel2404 написал(а):
сделай дамп с денвера, потом заливай через phpmyadmin и выбирай кодировку ту, в которой файл.

Спустя 15 минут, 42 секунды (26.12.2011 - 11:26) Dunix написал(а):
alexbel2404, перепробовал очень много вариантов, вчерашней ночью "играл в рулетку", вышло, что единственный вариант - сконвертировать дамп в iso-8859-1, а потом лить на хостинг под utf8. И как я описал выше - возникают косяки в словах, к примеру:
�?ерви�?а

Спустя 1 минута, 42 секунды (26.12.2011 - 11:28) Dunix написал(а):
пробовал еще cp1252, там похлеще ситуация будет немного в сравнении с iso-8859-1, но всяко лучше иных вариантов. У меня уже возникает мысль сесть да перевести в админке все 1400 строк по новой, чтобы не терять время на решение проблемы)) Но это абсурд чистой воды выйдет

Спустя 9 часов, 7 минут, 58 секунд (26.12.2011 - 20:36) VELIK505 написал(а):
Дамп базы переобразовываешь в ANSI. Именно переобразовываешь а не перекодируешь. Всё это делаешь в notepad++
Потом создаёшь базу в кодировке cp-1251
Потом заходишь в phpmyadmin нажимаешь импорт и выбераешь кодировку utf-8 именно utf-8 а не 1251. Всё заливаешь потом в my.cnf:
в секции mysqld пишешь:
character-set-server=cp1251
collation-server=cp1251_general_ci
init-connect="SET NAMES cp1251"
skip-character-set-client-handshake

перезапускаешь mysql-server и всё
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.