Проблема с русскими "И" и "ш"
Проблема с русскими "И" и "ш"
"И" и "ш" сидели на трубе...
Вообщем после конвертации из 1251 в UTF-8, вылезли проблемы с сабжевыми буквами. Конвертировал при помощи
Character Encoding Converter 1.1.0. Вообщем-то косяки с буквами было уже видно сразу непосредственно после конвертации, но я с чего-то вдруг решил что оно само чудодейственно заработает, как только попадет в mySQL базу. Как бы не так...
Три других конвертилки не особенно помогли, были или теже грабли или вообще что-то не то. Поиск по гуглу дал ссылки на страницы, где подобные проблемы решались то на перле то на mySQL и все через одно и тоже место. А мне собственно только замены сделать (кракозябра1 -> "И" и кракозябра2 -> "ш") и перезалить.
С заменой "ш" notepad++ справился, а вот с "И" я просто задолбался. Там какие-то управляющие символы, они просто не копируются в буфер.
Чем конвертировать чтобы не возникало проблем с буквами "И" и "ш"?
Спасибо )
Вообщем после конвертации из 1251 в UTF-8, вылезли проблемы с сабжевыми буквами. Конвертировал при помощи
Character Encoding Converter 1.1.0. Вообщем-то косяки с буквами было уже видно сразу непосредственно после конвертации, но я с чего-то вдруг решил что оно само чудодейственно заработает, как только попадет в mySQL базу. Как бы не так...
Три других конвертилки не особенно помогли, были или теже грабли или вообще что-то не то. Поиск по гуглу дал ссылки на страницы, где подобные проблемы решались то на перле то на mySQL и все через одно и тоже место. А мне собственно только замены сделать (кракозябра1 -> "И" и кракозябра2 -> "ш") и перезалить.
С заменой "ш" notepad++ справился, а вот с "И" я просто задолбался. Там какие-то управляющие символы, они просто не копируются в буфер.
Чем конвертировать чтобы не возникало проблем с буквами "И" и "ш"?
Спасибо )
Last edited by ilia3d on Sat May 23, 2009 11:56 am, edited 1 time in total.
Re: Проблема с русскими "И" и "ш"
Я вообще не понимаю чего вы делаете - перлы какие-то, мерлы, нотепады, левачину какую-то всякую тянут...
Есть iconv, вызывается как iconv -f cp1251 -t utf8 file.ext > newfile.ext . Как вообще могут быть какие-то проблемы с какими-то буквами?
Есть iconv, вызывается как iconv -f cp1251 -t utf8 file.ext > newfile.ext . Как вообще могут быть какие-то проблемы с какими-то буквами?
unsigned double ZYV;
Re: Проблема с русскими "И" и "ш"
С буквами пожалуй что никаких, теперь только одна проблема - найти этот iconv под win32...ZYV wrote: Я вообще не понимаю чего вы делаете - перлы какие-то, мерлы, нотепады, левачину какую-то всякую тянут...
Есть iconv, вызывается как iconv -f cp1251 -t utf8 file.ext > newfile.ext . Как вообще могут быть какие-то проблемы с какими-то буквами?
Кстати, нашел этот конвертер в веб-оболочке http://www.iconv.org/
мне оно присылает пустые файлы, но может у кого-то заработает )
Re: Проблема с русскими "И" и "ш"
И в чем проблема? Снеси этот глюкодром и поставь нормальную систему с менеджером пакетов, чтобы ставить новые программы было можно набрав sudo aptitude install iconv и нажав Enter.
P.S. Варианта целых два:
1) http://gnuwin32.sourceforge.net/
2) Cygwin
Первый предпочтительнее.
А вообще кинь мне базу, интересно.
P.S. Варианта целых два:
1) http://gnuwin32.sourceforge.net/
2) Cygwin
Первый предпочтительнее.
А вообще кинь мне базу, интересно.
unsigned double ZYV;
Re: Проблема с русскими "И" и "ш"
Специально посмотрела, что за вещь. Написано: "Character Encoding Converter is an easy-to-use application that, as its name says, will convert character encodings of files." То есть касается только кодировки файлов, но никак не букв в них записаных. Кракозябра была и кракозяброй останется, с той только разницей, что пишется она теперь в двухбайтовой кодировке.Конвертировал при помощи Character Encoding Converter 1.1.0
Та же самая история по моему понятию, если в самом дампе уже такой вот салатZYV wrote: Есть iconv, вызывается как iconv -f cp1251 -t utf8 file.ext > newfile.ext . Как вообще могут быть какие-то проблемы с какими-то буквами?
то что даст перекодировка файла? Кракозябры нужно менять в дампе независимо от кодировки файла (или как дополнение к нему) или я ничего не понимаю ::)wohingegen der Werkstoff Stahl gewГ¶hnlich nicht als Eisen bezeichnet wird
Last edited by Sonya on Sun May 24, 2009 10:45 am, edited 1 time in total.
Re: Проблема с русскими "И" и "ш"
нет, она действительно перекодирует содержимое, но возникают вышеозначенные проблемы... В принципе я это кривинько, но решил, сделав последнюю замену через jEdit. Базу залил, все вроде работает но... "осадок остался" )Sonya wrote:
Специально посмотрела, что за вещь. Написано: "Character Encoding Converter is an easy-to-use application that, as its name says, will convert character encodings of files." То есть касается только кодировки файлов, но никак не букв в них записаных. Кракозябра была и кракозяброй останется, с той только разницей, что пишется она теперь в двухбайтовой кодировке.
Если честно, я до конца сам не понимаю что это было. База отображалась в phpMyadmin в кракозябрах (русский текст), однако скрипт выводил все совершенно нормально (collation=1251_general_ci). После того как я это безобразие переконвертировал UTF8 -> Win1251 (!) русский текст стал совершенно нормально отображаться в UTF-8 кодировке как в текстовом редакторе, так и в phpMyAdmin. Кроме букв "И" и "ш". Небольшой кусочек исходной базы с "кракозябрами", в аттачменте.
под кодировкой файла я и разумею кодировку всех его символов.то что даст перекодировка файла? Кракозябры нужно менять в дампе независимо от кодировки файла (или как дополнение к нему) или я ничего не понимаю
- Attachments
-
[The extension txt has been deactivated and can no longer be displayed.]
Re: Проблема с русскими "И" и "ш"
1), 2) - возьму на заметкуZYV wrote: И в чем проблема? Снеси этот глюкодром и поставь нормальную систему с менеджером пакетов, чтобы ставить новые программы было можно набрав sudo aptitude install iconv и нажав Enter.
P.S. Варианта целых два:
1) http://gnuwin32.sourceforge.net/
2) Cygwin
Первый предпочтительнее.

фрагмента из предыдущего поста хватит? )А вообще кинь мне базу, интересно.
Re: Проблема с русскими "И" и "ш"
То есть, если у меня в дампе стоит кракозябры ЕЎ, ДЇ, Д™, „, “ , ДЌ и так далее, то он мне эти кракозябры перекодирует. Вопрос: во что перекодирует? Откуда он знает, какие буквы скрываются под каждой отдельной кракозяброй?ilia3d wrote: нет, она действительно перекодирует содержимое,
Re: Проблема с русскими "И" и "ш"
ну.., это указывается в настройках программы. Исходный файл - кодировка "А", конечный файл - кодировка "В".Sonya wrote:То есть, если у меня в дампе стоит кракозябры ЕЎ, ДЇ, Д™, „, “ , ДЌ и так далее, то он мне эти кракозябры перекодирует. Вопрос: во что перекодирует? Откуда он знает, какие буквы скрываются под каждой отдельной кракозяброй?ilia3d wrote: нет, она действительно перекодирует содержимое,
для "угадывания" кодировок, использовал автоопределитель: http://2cyr.com/decode/?lang=ru
Re: Проблема с русскими "И" и "ш"
Ушла грузить программу, пока сама не увижу - не поверюilia3d wrote: ну.., это указывается в настройках программы.

Re: Проблема с русскими "И" и "ш"
Ну почему мне никто не верит, а?Sonya wrote:Ушла грузить программу, пока сама не увижу - не поверюilia3d wrote: ну.., это указывается в настройках программы.![]()

Кстати, только сейчас заметил, прога использует iconv.dll

Re: Проблема с русскими "И" и "ш"
Эээ нет, друг мой, то, что ты прикрепил восстановлению (автоматическому) уже не подлежит. В двух словах, вся хитрость в том, как устроен UTF8. Вообще, конечно, надо читать доки по этой теме, я уже сейчас смутно помню - давно разбирался, поэтому могу наврать, но в принципе, там те символы, которые могут быть представлены в семибитной кодировке представляются в ней, а которые нет - через двухбайтные, причем, если я правильно помню, там есть один бит на то, чтобы показать, что следующие два символа надо интерпретировать как одно целое. Так вот, ты этот дамп сделал phpMyAdmin'ом, который уже попортил закодированные там данные - часть этих связей почему-то пропадает при экспорте через него.
А что делать, я уже писал в теме для лузеров - можно сделать дамп через mysqldump дубовым способом (указать принудительно ему, что интерпретировать эти строки надо как cp1251, и включить совместимость с mysql-321), либо если ssh нет, запустить мой скрипт, который на самом деле выдран из одной из первых версий phpmyadmin, который не сильно умничал и исправлен немного. Он может новые фишки в структуре не очень правильно передавать, но для данных вполне подходит.
После этого, если интерпретировать тупо дампанутые строки как utf8 всё должно завестись, потому, что тут уже ничего не потеряно. Как если бы ты на сайте utf8 кодировку в браузере переключил в cp1251 - такая же ситуация.
Скрипт я не хочу выкладывать в паблик по двум причинам - он плохо написан и не документирован, и я иногда им зарабатываю
но может быть как появится возможность, если довести до ума и мануал написать - надо будет выложить. Могу тебе дать на пробу, только почты твоей нигде не вижу.
Я таким способом десятки зафаршмаченных клоунами баз восстановил.
А что делать, я уже писал в теме для лузеров - можно сделать дамп через mysqldump дубовым способом (указать принудительно ему, что интерпретировать эти строки надо как cp1251, и включить совместимость с mysql-321), либо если ssh нет, запустить мой скрипт, который на самом деле выдран из одной из первых версий phpmyadmin, который не сильно умничал и исправлен немного. Он может новые фишки в структуре не очень правильно передавать, но для данных вполне подходит.
После этого, если интерпретировать тупо дампанутые строки как utf8 всё должно завестись, потому, что тут уже ничего не потеряно. Как если бы ты на сайте utf8 кодировку в браузере переключил в cp1251 - такая же ситуация.
Скрипт я не хочу выкладывать в паблик по двум причинам - он плохо написан и не документирован, и я иногда им зарабатываю

Я таким способом десятки зафаршмаченных клоунами баз восстановил.
unsigned double ZYV;
Re: Проблема с русскими "И" и "ш"
ZYV
У меня сейчас такие же проблемы при переносе БД с хостинга на хостинг.
Моя почта phi_fpm@mail.ru
Либо придется тогда с mysqldump разбираться, чего не очень хочу, т.к. не люблю перл
Подскажите мне пож
У меня сейчас такие же проблемы при переносе БД с хостинга на хостинг.
Я наверное выберу этот вариант. Скинь пож мне этот скрипт.либо если ssh нет, запустить мой скрипт, который на самом деле выдран из одной из первых версий phpmyadmin, который не сильно умничал и исправлен немного
Моя почта phi_fpm@mail.ru
Либо придется тогда с mysqldump разбираться, чего не очень хочу, т.к. не люблю перл
Подскажите мне пож
Re: Проблема с русскими "И" и "ш"
Причем тут Perl?
ilia3d мне так и не ответил чем закончилась его история. Если выложу, то выкладывать буду для всех. А сейчас нет времени.
ilia3d мне так и не ответил чем закончилась его история. Если выложу, то выкладывать буду для всех. А сейчас нет времени.
unsigned double ZYV;
Re: Проблема с русскими "И" и "ш"
mysqldump - это ведь перловый скрипт?
У меня такая же проблема, как и у автора.
При переносе базы с хостинга на хостинг теряются буквы "И", "ш" еще и "Р"
Причем при установке CMS наверное нужно было раскоментировать строку с "set name" в include.php
Но я этого не сделал, т.к. не знал. А сейчас уже нужно что-то делать с содержимым, которое хранится на реальном сайте.
Подскажите верный путь
У меня такая же проблема, как и у автора.
При переносе базы с хостинга на хостинг теряются буквы "И", "ш" еще и "Р"
Причем при установке CMS наверное нужно было раскоментировать строку с "set name" в include.php
Но я этого не сделал, т.к. не знал. А сейчас уже нужно что-то делать с содержимым, которое хранится на реальном сайте.
Подскажите верный путь
