Ответы пользователя по тегу C#
  • Как установить общую кодировку в клиент-серверном приложении?

    @weblucker
    Честно стырено на ОтветахМейл, может, поможет :)

    UTF8 устроен так, что символы с кодами 0-127 (английские буквы, цифры, знаки препинания и т. д. ) занимают один байт, и поэтому отображаются верно, а символы национальных языков занимают два байта. Отсюда и абракадабра при отображении русского текста.
    Вам же нужно перевести все в однобайтовую кодировку Win-1251. Это можно сделать в два шага:
    - преобразовать то, что прислано, в юникод (например, с помощью функции WinAPI MultiByteToWideChar, указав UFT8 в качестве кодировки)
    - преобразовать строку из юникода в нужную кодировку (например, используя функцию WideCharToMultiByte, указав число 1251 первым параметром функции)
    Как вариант, можно воспользоваться функциями стандартной библиотеки C.
    Ответ написан
    Комментировать