powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как заставить винду понимать юникод?
10 сообщений из 10, страница 1 из 1
Как заставить винду понимать юникод?
    #33439415
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
  hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
  hFile = CreateFile(L"uni.txt", GENERIC_READ, FILE_SHARE_READ, NULL,
    OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
  buffer=GlobalAlloc(GMEM_FIXED, 256 );
  ReadFile(hFile, buffer,  2 , &iWritten, NULL);
  ReadFile(hFile, buffer,  21 * 2 , &iWritten, NULL);
  WriteFile(hStdout, buffer,  21 * 2 , &iWritten, NULL);
  CloseHandle(hFile);
  MessageBox(NULL, buffer, NULL, MB_ICONINFORMATION);
открываем файл, читаем контент, выводим в стдаут. Писал прямо по туториалу с мсдн, один сплошной винапи. Содержимое текстового файла в кодировке utf16le
Код: plaintext
some text текст текст
выводит трэш:
Код: plaintext
s o m e   t e x t   B♦5♦:♦A♦B♦  B♦5♦:♦A♦B♦
как побороть? MessageBox отображает текст как положено.
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
Как заставить винду понимать юникод?
    #33439418
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
упс, про мессажбокс забыл: ((TCHAR*)buffer)[21]=0;
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
Как заставить винду понимать юникод?
    #33439520
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Определи макро UNICODE.
...
Рейтинг: 0 / 0
Как заставить винду понимать юникод?
    #33441954
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такой. Иначе мессажбокс не заработал бы. И конструкцию CreateFile(L"uni.txt" обматерил бы. Потому и извращаюсь через ReadFile и WriteFile, чтобы текст стопудов юникодным был.
зы ReadFile и WriteFile не имеют юникодных эквивалентов, это бинарные функции.
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
Как заставить винду понимать юникод?
    #33442119
Ivanych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoкак побороть?перекодируй текст в windows-1251 вручную
...
Рейтинг: 0 / 0
Как заставить винду понимать юникод?
    #33442249
Фотография DarkSquid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как программу запускаешь?

Из консоли? Там кодировку юникодную установить сначала надо.
...
Рейтинг: 0 / 0
Как заставить винду понимать юникод?
    #33443686
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivanychперекодируй текст в windows-1251 вручнуюв CP_OEMCP, если быть точным. Этому уже научился, просто хотелось бы без перекодировки. Но, кажется, другого выхода нету.
DarkSquidТам кодировку юникодную установить сначала надо.cmd /U ? Делал, та же фигня. Этот ключ нужен, чтобы перенаправлять stdout в юникодный файл.
...
Рейтинг: 0 / 0
Как заставить винду понимать юникод?
    #33443880
Фотография DarkSquid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Консоль можно заставить UTF-8 понимать с помощью команды
Код: plaintext
chcp  65001 
. Всё-таки тоже Unicode...
...
Рейтинг: 0 / 0
Как заставить винду понимать юникод?
    #33444262
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо бы ещё 1200 попробовать
написано BMP of ISO 10646 - что это значит?
...
Рейтинг: 0 / 0
Как заставить винду понимать юникод?
    #33444306
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
означает Basic Multilingual Plane, 65536 уникальных символов.
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как заставить винду понимать юникод?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]