Новости Энциклопедия переводчика Блоги Авторский дневник Форум Работа

Декларация Поиск О нас пишут Награды Читальня Конкурсы Опросы








ГП-цитатник

Кодировка в Excel

Кодировка в Excel

Сообщение Artem Vakhitov » Сб май 16, 2009 10:54

Здравствуйте, коллеги!

Мне заказчик для референсу дал Excel-файл, а там вместо кириллицы кракозяблы отображаются. Как их превратить в нормальный русский текст?

Образец: Äîïîëíèòåëüíûå ñâåäåíèÿ ñì. â çàìåòêàõ î âûïóñêå.

Заранее спасибо!
Artem Vakhitov

 
Сообщения: 19
Зарегистрирован: Пт фев 27, 2009 12:18





Re: Кодировка в Excel

Сообщение Farid » Сб май 16, 2009 17:45

Обратитесь к нему, "конспиранту". Пусть пришлёт в нормальном виде.

P.S. (Оффтоп).
Я жутко ругаюсь, когда БП присылает мне на перевод документ в формате bmp размером более 1,5 МБ.
¡Adios, Lepido!
ڧريد
Аватара пользователя
Farid

 
Сообщения: 2270
Зарегистрирован: Сб апр 15, 2006 02:28
Откуда: Veliki Novgorod, Rusia
Язык(-и): ES,PT<>, PL,FR>

Re: Кодировка в Excel

Сообщение Бродяга » Сб май 16, 2009 22:13

Файл этот, скорее всего, экспортирован из чего-то чем-то через что-то. Поскольку в самом Экселе кракозябры не возникают уже с доисторических времён.
А потом уже поздно было редактировать. © bagira:)
Аватара пользователя
Бродяга

 
Сообщения: 4948
Зарегистрирован: Ср дек 07, 2005 13:34

Re: Кодировка в Excel

Сообщение esperantisto » Вс май 17, 2009 18:05

Такая проблема часто возникает в OpenOffice.org Calc при открытии файлов Excel 95 (и в OOo Writer — Word 95). На этой случай имеются следующие макросы:

Код: Выделить всё
  *****  Recode from cp1252 to cp1251 for Word and Excel files without language set.
REM  *****  Authors Dmitry G. Mastrukov and A. Novodroskii 2002, code corrercted by Dmitri Gabinski
REM  ***** GPL license


Dim mCP1252(123) As String
Dim mCP1251(123) As String

Sub Init
mCP1252() = Array("€","‚","¸","„","…","†","‡","ˆ","‰","Š","‹","Œ","Ž", _
                 "‘","’","“","”","•","–","—","™","š","›","œ","¡","ž", _
                 "Ÿ"," ","¡","¢","£","¤","¥","¦","§","¨","©","ª","«", _
                 "¬","­","®","¯","°","±","²","³","´","µ","¶","·","¸", _
                 "¹","º","»","¼","½","¾","¿","À","Á","Â","Ã","Ä","Å", _
                 "Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò", _
                 "Ó","Ô","Õ","Ö","×","Ø","Ù","Ú","Û","Ü","Ý","Þ","ß", _
                 "à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì", _
                 "í","î","ï","ð","ñ","ò","ó","ô","õ","ö","÷","ø","ù", _
                 "ú","û","ü","ý","þ","ÿ")
mCP1251() = Array("Ђ","‚","ё","„","…","†","‡","€","‰","Љ","‹","Њ","Ћ", _
                 "‘","’","“","”","•","–","—","™","љ","›","њ","ќ","ћ", _
                 "џ"," ","Ў","ў","Ј","¤","Ґ","¦","§","Ё","©","Є","«", _
                 "¬","­","®","Ї","°","±","І","і","ґ","µ","¶","·","ё", _
                 "№","є","»","ј","Ѕ","ѕ","ї","А","Б","В","Г","Д","Е", _
                 "Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т", _
                 "У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я", _
                 "а","б","в","г","д","е","ж","з","и","й","к","л","м", _
                 "н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ", _
                 "ъ","ы","ь","э","ю","я")
End Sub

Sub RecodeAllWriter
  Dim n As Long
  Dim oDocument As Object
  Dim oReplace As Object
  Init()   
  oDocument = ThisComponent
  oReplace = oDocument.createReplaceDescriptor
  For n = lbound(mCP1252()) To ubound(mCP1252())
    oReplace.SearchString = mCP1252(n)
    oReplace.ReplaceString = mCP1251(n)
    oReplace.SearchCaseSensitive = TRUE
    oDocument.replaceAll(oReplace)
   Next n
  MsgBox "Преобразовано"
End Sub

Sub RecodeAllCalc
  Dim n As Long
  Dim m As Long
  Dim oDocument As Object
  Dim oReplace As Object
  Init()   
  On error goto ex
  oDocument = ThisComponent
  m = 0
  While 1 = 1
  oReplace = oDocument.Sheets(m).createReplaceDescriptor
  For n = lbound(mCP1252()) To ubound(mCP1252())
    oReplace.SearchString = mCP1252(n)
    oReplace.ReplaceString = mCP1251(n)
    oReplace.SearchCaseSensitive = TRUE
    oDocument.Sheets(m).replaceAll(oReplace)
  Next n
  m = m + 1
  Wend
  ex:
  MsgBox "Преобразовано"
End Sub


Воспользуйтесь OOo или попробуйте переписать макросы на VBA.
«И вообще погаными тряпками гнать этих переводчиков. Ишь чего удумали — переводить. Да ещё, чтоб удобно им было, хотят.» (на форуме разработчиков ПО)
esperantisto

 
Сообщения: 7035
Зарегистрирован: Ср фев 25, 2004 12:14
Откуда: Менск
Язык(-и): En→Ru/Be, De→Ru/Be

Re: Кодировка в Excel

Сообщение chatonau » Вс май 17, 2009 20:17

А я как-то без макросов просто прочитал, чего ему там написали -
"Дополнительные сведения см. в заметках о выпуске".

Может ему просто тупо русский шрифт на систему поставить?
Stay clean!
chatonau

 
Сообщения: 1472
Зарегистрирован: Пн янв 26, 2009 22:19
Откуда: Stay clean!

Re: Кодировка в Excel

Сообщение BInc » Ср май 20, 2009 12:14

Можно скопировать в ворд, Сервис > Исправить поврежденный текст, потом скопировать обратно.
Never imagine yourself not to be otherwise than what it might appear to others that what you were or might have been was not otherwise than what you had been would have appeared to them to be otherwise.
Аватара пользователя
BInc

 
Сообщения: 421
Зарегистрирован: Ср май 21, 2008 21:51
Откуда: Киев
Язык(-и): Eng>Rus, Eng>Ukr

Re: Кодировка в Excel

Сообщение esperantisto » Ср май 20, 2009 12:30

Можно. Но трудоёмко несколько.
«И вообще погаными тряпками гнать этих переводчиков. Ишь чего удумали — переводить. Да ещё, чтоб удобно им было, хотят.» (на форуме разработчиков ПО)
esperantisto

 
Сообщения: 7035
Зарегистрирован: Ср фев 25, 2004 12:14
Откуда: Менск
Язык(-и): En→Ru/Be, De→Ru/Be



Словари русского языка

www.gramota.ru
Словарь Мультитран
Язык

Вернуться в Полезное программное обеспечение. Аллея Бродяги

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 11