Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Русская кодировка в *.txt файле [D7, Win2k]


onics ©   (2004-07-06 15:37:00) 

Добрый день. Проблема: есть txt файл. При считывании из файла в переменную string куска строки русские буквы превращяются в абракадабру. Как решить проблему?


y-soft   (2004-07-06 16:17:00) [1]

>Anatoly Podgoretsky ©   (06.07.04 16:12) [17]

У меня редактор на основе TMemo/TRichEdit позволяет просматривать тексты, которые не совпадает с кодовой страницей Windows. Без всякиз перекодировок к нее. Я усилий для этого не принимал, это все поддерживает Виндоус.

А эти строки твой редактор отобразит? :)

الكوليسترول
น้ำมะตูม น้ำใบเตย
Այսպիսով Հայաստանը
इराक़ में सद्दाम
ཀ ཁ ག གྷ ང ཅ ཆ ཇ ཉ ཊ ཋ
恐れ入りますがフレ
敬请原谅
인증,공개하인증,공개하
Ένωσης εκδίδεται
່ອງທ່ຽວທຳມະຊາດ
הדרך המהירה
სტრატეგიული


onics   (2004-07-06 16:17:00) [2]

>y-soft
Проблема происходит при считывании из файла и последующем присвоении переменной типа string (функция Readln)
>КаПиБаРа
Попробую Ваш вариант завтра т.к. срочно переключаюсь на другую задачу. О результате сообщу.


Anatoly Podgoretsky   (2004-07-06 16:12:00) [3]

y-soft ©   (06.07.04 16:07) [16]
Нет ты утверждаешь, что "Абракадабра возникает, когда кодовая страница файла не совпадает с кодовой страницей Windows", а это ни так!
У меня редактор на основе TMemo/TRichEdit позволяет просматривать тексты, которые не совпадает с кодовой страницей Windows. Без всякиз перекодировок к нее. Я усилий для этого не принимал, это все поддерживает Виндоус.

По поводу можно ли ее решить указаным способом ничего не известно, может можно, а может нет, он же ничего не говорит о реальной кодировки текста, кроме того что вроде бы это какая то одна из множества русских кодировок.


y-soft   (2004-07-06 16:07:00) [4]

>Anatoly Podgoretsky ©   (06.07.04 15:58) [13]

Ну так Анатолий, не сказано же в чем автор увидел крякозябры и какие... Я предположил, что в своей программе... IE и системные просмотрщики позволяют смотреть во многих кодировках и даже в Unicode,  а в Delphi по умолчанию выставляется DEFAULT_CHARSET...

onics   (06.07.04 15:59) [14]

Если проблема у Вас возникает при просмотре в Вашей программе, то ее можно решить, установив для соответствующего Edit (Label, Memo) свойства фонта


КаПиБаРа   (2004-07-06 16:02:00) [5]


> OemToChar нет в хелпе

"C:\Program Files\Common Files\Borland Shared\MSHelp\MAPI.HLP"


onics   (2004-07-06 15:59:00) [6]

>свойствах шрифта поставить OEM_CARSET или шрифт типа Terminal
Не могу понять.


Anatoly Podgoretsky   (2004-07-06 15:58:00) [7]

y-soft ©   (06.07.04 15:46) [6]
Неправда ваша, например в ИЕ и не только в нем я могу посмотреть текстовый файл как минимум в 20 разничных кодировках и только одна из них совпадает с кодовой страницей Windows


КаПиБаРа   (2004-07-06 15:58:00) [8]

Ненадо... Ненадо в студию что попало тащить... :)


onics   (2004-07-06 15:57:00) [9]

OemToChar нет в хелпе.


Fay   (2004-07-06 15:53:00) [10]

Код в студию.


y-soft   (2004-07-06 15:53:00) [11]

Если кодировка DOS, то может проще в свойствах шрифта поставить OEM_CARSET или шрифт типа Terminal?


onics   (2004-07-06 15:52:00) [12]

Пишится все нормально, затычка возникает только с русским языком


КаПиБаРа   (2004-07-06 15:47:00) [13]

F1 - OemToChar


y-soft   (2004-07-06 15:46:00) [14]

Кодировка текстового файла может быть разной. Абракадабра возникает, когда кодовая страница файла не совпадает с кодовой страницей Windows. Или файл может быть вообще записан в кодировке UTF-8, UTF-16 или даже UTF-32. В последних 2-х случаях в string вообще запишется только часть файла или вообще ничего :)


Anatoly Podgoretsky   (2004-07-06 15:44:00) [15]

Win, DOS это не русская или немецкая, в OEM/ANSI


onics   (2004-07-06 15:42:00) [16]

По ТЗ - Win, но реально я думаю DOS


onics   (2004-07-06 15:41:00) [17]

А поподробней можно?


КаПиБаРа   (2004-07-06 15:41:00) [18]

Кодировка в файле какая?


Anatoly Podgoretsky   (2004-07-06 15:40:00) [19]

Английскую кодировку в русскую без переводчика не сделать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо