Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Импорт дампа и проблемы с кодировкой


Автор: OneFourth 18.7.2007, 17:33
Есть файл -  дамп таблицы из Мускула. Таблицы была в кодировке latin1, потом в ней в WordPad'e были сделаны кое-какие изменения в контенте. Кое-что переведено на русский язык. 
Импортирую таблицу обратно - в результат вместо русских символово все ??????
Пробовал менять CHARSET таблицы и базы в cp1251, utf8 - безрезультатно, все равно записываются при импорте знаки вопроса. При запросе в базу из РНР также знаки вопроса. 

Как можно решить данную проблему?

Автор: Diesel Draft 18.7.2007, 17:45
Есть много программ-редакторов которые умеют менять кодировку файла. Попробуй поменять.

Программы например: notepad++ . Поищи в гугле, она бесплатная

Автор: OneFourth 18.7.2007, 17:51
Я как раз и юзаю notepad++. Там меняешь кодировку (в меню) и вся кириллика превращается в квадратики...

Автор: SparF 18.7.2007, 18:51
чтобы не перекодировать весь дамп просто вставьте первым запросом в него строчку
Код

SET NAMES 'cp1251'

либо при подключении к серверу для заливки дампа одним из параметров укажите
Код

--default-character-set=cp1251

так, чтобы в итоге получилось
Код

mysql -h host -p passwd --default-character-set=cp1251 dbase_name < dbase_name_dump.sql


Автор: Mal Hack 18.7.2007, 19:46
Никак. WordPad "убил" вашу latin, сохранив файл в cp1251, естественно, все что было в latin превратилост в  ???? и томуподобные вещи..

Автор: Diesel Draft 18.7.2007, 20:25
а в  notepad++ ты нормально виден?

Автор: OneFourth 19.7.2007, 03:23
Решение проблемы оказалось в следующем: в wordpade и в обыкновенном блокноте есть возможность сохранить в формате utf8 - а с utf8 уже никаких проблем не было.


А вот :
 SET NAMES 'cp1251'  
не помогало. А в какой вообще кодировке вордпад хранит тексты?

И латиницу тоже не убило - латиница как раз была в порядке, глюк был с кириллицей.

В notepad++ все нормально отображалось. Правда при переключении в utf8 латиница оставалась прежней, а кириллица сбивалась


Автор: Diesel Draft 19.7.2007, 12:00
utf8 есть 2х видов. В одном перед первой литерой стоит 1 байт

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)