Текст в браузере стал нечетким windows 10

POCO, ACE, Loki и другие продвинутые C++ библиотеки

NullReferenced 13.05.2025

В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .

Паттерны проектирования GoF на C#

UnmanagedCoder 13.05.2025

Вы наверняка сталкивались с ситуациями, когда код разрастается до неприличных размеров, а его поддержка становится настоящим испытанием. Именно в такие моменты на помощь приходят паттерны Gang of. . .

Создаем CLI приложение на Python с Prompt Toolkit

py-thonny 13.05.2025

Современные командные интерфейсы давно перестали быть черно-белыми текстовыми программами, которые многие помнят по старым операционным системам. CLI сегодня – это мощные, интуитивные и даже. . .

Конвейеры ETL с Apache Airflow и Python

AI_Generated 13.05.2025

ETL-конвейеры – это набор процессов, отвечающих за извлечение данных из различных источников (Extract), их преобразование в нужный формат (Transform) и загрузку в целевое хранилище (Load). . . .

Выполнение асинхронных задач в Python с asyncio

py-thonny 12.05.2025

Современный мир программирования похож на оживлённый мегаполис – тысячи процессов одновременно требуют внимания, ресурсов и времени. В этих джунглях операций возникают ситуации, когда программа. . .

Работа с gRPC сервисами на C#

UnmanagedCoder 12.05.2025

gRPC (Google Remote Procedure Call) — открытый высокопроизводительный RPC-фреймворк, изначально разработанный компанией Google. Он отличается от традиционых REST-сервисов как минимум тем, что. . .

CQRS (Command Query Responsibility Segregation) на Java

Javaican 12.05.2025

CQRS — Command Query Responsibility Segregation, или разделение ответственности команд и запросов. Суть этого архитектурного паттерна проста: операции чтения данных (запросы) отделяются от операций. . .

Шаблоны и приёмы реализации DDD на C#

stackOverflow 12.05.2025

Когда я впервые погрузился в мир Domain-Driven Design, мне показалось, что это очередная модная методология, которая скоро канет в лету. Однако годы практики убедили меня в обратном. DDD — не просто. . .

Исследование рантаймов контейнеров Docker, containerd и rkt

Mr. Docker 11.05.2025

Когда мы говорим о контейнерных рантаймах, мы обсуждаем программные компоненты, отвечающие за исполнение контейнеризованных приложений. Это тот слой, который берет образ контейнера и превращает его в. . .

Micronaut и GraalVM — будущее микросервисов на Java?

Javaican 11.05.2025

Облачные вычисления безжалостно обнажили ахиллесову пяту Java — прожорливость к ресурсам и медлительный старт приложений. Традиционные фреймворки, годами радовавшие корпоративных разработчиков своей. . .

Всем здрасьте.
это программка WinForms. на форме одна кнопка и два label
то есть всё очень скромно.

подскажите, почему вижел студия не может перекодировать строку в windows-1251
где там надо зарегистрировать Encoding.RegisterProvider method

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
...
...
        string string_Data = "123456 трпр и т.д.";
        //  byte[] data = UTF8Encoding.UTF8.GetBytes( string_Data );  //  РАБОТАЕТ
        //  byte[] data = Encoding.ASCII.GetBytes( string_Data );     //  РАБОТАЕТ

        //  Encoding win1251 = Encoding.GetEncoding(1251);           // ОШИБКА
            Encoding win1251 = Encoding.GetEncoding("windows-1251"); // так тоже ОШИБКА
            byte[] data = win1251.GetBytes( string_Data );

            foreach (byte ch in data)
            {
...
...

VS 2019 пишет:
System.NotSupportedException: «No data is available for encoding 1251.
For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.»

в реестре есть строка codepage 1251 и других nls полно.
большое спасибо.

Здравствуйте, klen_, Вы писали:

_>System.NotSupportedException: «No data is available for encoding 1251.

Это не студия пишет, а компилятор. а установить надо пакет с кодировками, я так полагаю у вас проект коровый.

To do this, you need to register the CodePagesEncodingProvider instance from the System.Text.Encoding.CodePages package.

To do that, install the System.Text.Encoding.CodePages package:

dotnet add package System.Text.Encoding.CodePages

Then (after implicitly or explicitly running dotnet restore) you can call:

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
var enc1252 = Encoding.GetEncoding(1252);

Alternatively, if you only need that one code page, you can get it directly, without registration:

var enc1252 = CodePagesEncodingProvider.Instance.GetEncoding(1252);

☭ ✊ В мире нет ничего, кроме движущейся материи.

Здравствуйте, klen_, Вы писали:

_>Всем здрасьте.

_>это программка WinForms. на форме одна кнопка и два label
_>то есть всё очень скромно.

_>подскажите, почему вижел студия не может перекодировать строку в windows-1251

_>где там надо зарегистрировать Encoding.RegisterProvider method

_>в реестре есть строка codepage 1251 и других nls полно.

_>большое спасибо.

В NET Core нет кодировок из реестра. В том числе и 1251.

NET Core или Framework?

varenikAA

            var win1251 = CodePagesEncodingProvider.Instance.GetEncoding(1251);
            byte[] data = win1251.GetBytes( string_Data );

Спасибо, это работает!

в свойствах проекта:
«Целевая рабочая среда» .NET 5.0
«Тип выходных данных» приложение Windows

Всех благодарю за совет и участие.

Отправляю запрос на сайт .
Запрос копировал из Google Network полностью, то есть ошибок в нём нет. Вывод контента страницы появляется в некорректной кодировке.

Вывод выполняется в PowerShell ISE
Обезличенный скрипт — запрос

#[Console]::outputEncoding = [System.Text.Encoding]::GetEncoding('cp866')
#[Console]::outputEncoding = [System.Text.Encoding]::GetEncoding(‘windows-1251’)
#[console]::OutputEncoding = [System.Text.Encoding]::UTF8
$session = New-Object Microsoft.PowerShell.Commands.WebRequestSession
$session.UserAgent = "Example"
$session.Cookies.Add((New-Object System.Net.Cookie("Example")))

$wget = Invoke-WebRequest -UseBasicParsing -Uri "https://www.abuseipdb.com/check?query=50.31.21.4" `
-WebSession $session `
-Headers @{
"authority"="www.abuseipdb.com"
  "method"="GET"
  "path"="/check?query=50.31.21.4"
  "scheme"="https"
  "accept"="text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"
  "accept-encoding"="gzip, deflate, br, zstd"
  "accept-language"="ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7" 
  "referer"="https://www.abuseipdb.com/"
  "sec-ch-ua"="`"Chromium`";v=`"122`", `"Not(A:Brand`";v=`"24`", `"Google Chrome`";v=`"122`""
  "sec-ch-ua-arch"="`"x86`""
  "sec-ch-ua-bitness"="`"64`""
  "sec-ch-ua-full-version"="`"122.0.6261.129`""
  "sec-ch-ua-full-version-list"="`"Chromium`";v=`"122.0.6261.129`", `"Not(A:Brand`";v=`"24.0.0.0`", `"Google Chrome`";v=`"122.0.6261.129`""
  "sec-ch-ua-mobile"="?0"
  "sec-ch-ua-model"="`"`""
  "sec-ch-ua-platform"="`"Windows`""
  "sec-ch-ua-platform-version"="`"10.0.0`""
  "sec-fetch-dest"="document"
  "sec-fetch-mode"="navigate"
  "sec-fetch-site"="same-origin"
  "sec-fetch-user"="?1"
  "upgrade-insecure-requests"="1"
}

$wget.Content

Вывод выглядит следующим образом:
NQ���bDjR�F����G��9�?���z6� �J7$HJ�K$2��S����'��C0

Пытался изменить кодировку с помощью этих команд по очереди, но ни одна не помогла:

[Console]::outputEncoding = [System.Text.Encoding]::GetEncoding('cp866')
[Console]::outputEncoding = [System.Text.Encoding]::GetEncoding(‘windows-1251’)
[console]::OutputEncoding = [System.Text.Encoding]::UTF8

Также менял accept-language на английский, следующим образом:

"accept-language"="ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7" 
на 
 "accept-language"="en-UK,en;q=0.9,en-US;q=0.8,en;q=0.7"

Но не помогло.
Подскажите пожалуйста, как я могу сменить кодировку на читаемую?
Заранее благодарю за ответ!

Skip to content



Navigation Menu

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

Appearance settings

Description

In universal windows app, calling Encoding.GetEncoding(«windows-1251») will throw an exception

An exception of type ‘System.ArgumentException’ occurred in mscorlib.ni.dll but was not handled in user code

Additional information: ‘windows-1251’ is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.

same for euc-kr charset.

В данной статье приведу несколько практических примеров по изменению кодировки в PowerShell. Ранее я уже публиковал статью про смену кодировки, когда не отображались кириллические символы, сейчас рассмотрю тему более подробно.

Смена кодировки вывода в консоль

Сменить кодировку вывода в консоль можно одним из предложенных ниже способов:

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
[Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding("utf-8")

В данных примерах меняем ее на utf8. Это решает проблему с отображением кириллицы. Решение будет действовать только в текущем сеансе консоли.

Кракозябры в PowerShell ISE можно побороть вот так (сменив кодировку на cp866):

[Console]::outputEncoding = [System.Text.Encoding]::GetEncoding('cp866')

При сборке скрипта в exe файл через Win-PS2EXE тоже были проблемы с кодировкой при выводе кириллицы:

В Windows 10 помогло это:

[Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding("windows-1251")

В Win7 нужную кодировку не подобрал.

Смена кодировки вывода в файл Out-File

Вывод результата консольной утилиты, запущенной через PowerShell, в txt файл выдавал кракозябры. Помогло использование параметра -Encoding и выбор кодировки oem в конвейере в качестве параметра командлета Out-File (в примере zab_api.exe это консольная утилита, вывод которой нужно было писать в файл).

.\zab_api.exe | Out-File data.txt -Encoding oem

Глобальная смена кодировки на уровне системы

В этом решении будет рассказано как решить этот вопрос глобально.

Win + R -> Intl.cpl -> OK

На вкладке «Дополнительно»(«Administrative») Измените язык для программ, не поддерживающих Юникод — выберите Русский (Russian)

Перезагрузите систему

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Nvidia optimus driver windows 10
  • Windows 10 обновления приостановлены
  • Экран сдвинулся вверх что делать windows 10
  • Windows get free ports
  • Установка windows xp на ssd ошибка