Страницы

Поиск по вопросам

четверг, 11 октября 2018 г.

Кодировка текста в C# (CP1163)

Есть определенный код который получает и выводит листинг из БД (MySQL).
Не могу одолеть один столбец, там данные (текст) лежат в кодировке cp1163
Соответственно в листинге отображаются кракозябры.
Знатоки, подскажите пожалуйста как можно штатными средствами C# перекодировать полученное в cp1251.
Пробовал указать set names при подключении, но MySQL не понимает такой кодировки.


Ответ

Общий вид такой:
var sourceEncoding = Encoding.GetEncoding(1163); var resultEncoding = Encoding.GetEncoding("windows-1251"); byte[] sourceBytes = utf8.GetBytes(text); byte[] resultBytes = Encoding.Convert(sourceEncoding, resultEncoding, sourceBytes); var result = resultEncoding.GetString(resultBytes);
Только вот Code Page найти я не смог. Вот спецификация на CP1163, вы можете отнаследоваться от System.Text.Encoding и реализовать у него Convert, GetBytes.

Комментариев нет:

Отправить комментарий