Использование кодовых страниц UTF-8 в приложениях Windows — Windows apps
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 2 мин
Используйте кодировку символов UTF-8 для оптимальной совместимости между веб-приложениями и другими платформами на основе nix (Unix, Linux и варианты), минимизируйте ошибки локализации и сократите затраты на тестирование.
UTF-8 — это универсальная кодовая страница для интернационализации и может кодировать весь набор символов Юникода. Он используется повсеместно в Интернете и используется по умолчанию для платформ на основе *nix.
Установка кодовой страницы процесса на UTF-8
Начиная с Windows версии 1903 (обновление за май 2019 г.), можно использовать свойство ActiveCodePage в appxmanifest для упакованных приложений или манифест слияния для непакованных приложений, чтобы принудительно использовать UTF-8 в качестве кодовой страницы процесса.
Вы можете объявить это свойство и целевой объект или запустить в более ранних Windows сборках, но необходимо обрабатывать обнаружение и преобразование устаревшей кодовой страницы как обычно. С минимальной целевой версией Windows версии 1903 кодовая страница процесса всегда будет иметь значение UTF-8, поэтому обнаружение и преобразование устаревшей кодовой страницы можно избежать.
Примечание
Закодированный символ занимает от 1 до 4 байт.
Кодировка UTF-8 поддерживает более длинные последовательности байтов, до 6 байт, но самая большая кодовая точка Юникода 6.0 (U+10FFFF) занимает только 4 байта.
Примеры
Манифест Appx для упаковаемого приложения:
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
...
xmlns:uap7="http://schemas.microsoft.com/appx/manifest/uap/windows10/7"
xmlns:uap8="http://schemas.microsoft.com/appx/manifest/uap/windows10/8"
...
IgnorableNamespaces="... uap7 uap8 ...">
<Applications>
<Application ...>
<uap7:Properties>
<uap8:ActiveCodePage>UTF-8</uap8:ActiveCodePage>
</uap7:Properties>
</Application>
</Applications>
</Package>
Манифест Fusion для распаковки приложения Win32:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"> <assemblyIdentity type="win32" name="..." version="6.0.0.0"/> <application> <windowsSettings> <activeCodePage xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings">UTF-8</activeCodePage> </windowsSettings> </application> </assembly>
Примечание
Добавление манифеста в существующий исполняемый файл из командной строки с помощью команды mt.exe -manifest <MANIFEST> -outputresource:<EXE>;#1
-A и API-интерфейсы -W
API Win32 часто поддерживают варианты -A и -W.
-Варианты распознают кодовую страницу ANSI, настроенную в системе и поддержку char*, а варианты -W работают в UTF-16 и поддерживают WCHAR.
До недавнего времени Windows подчеркнули варианты Юникода -W по сравнению с API-интерфейсами -A. Однако последние выпуски использовали кодовую страницу ANSI и API-интерфейсы A в качестве средства для внедрения поддержки UTF-8 для приложений.
Если кодовая страница ANSI настроена для UTF-8, API-интерфейсы A обычно работают в UTF-8. Эта модель имеет преимущество поддержки существующего кода, созданного с помощью API-интерфейсов -A без каких-либо изменений кода.
Преобразование кодовой страницы
Так как Windows работает изначально в UTF-16 (WCHAR), может потребоваться преобразовать данные UTF-8 в UTF-16 (или наоборот), чтобы взаимодействовать с Windows API.
MultiByteToWideChar и WideCharToMultiByte позволяют выполнять преобразование между UTF-8 и UTF-16 () (WCHARи другими кодовых страницами). Это особенно полезно, если устаревший API Win32 может быть понятен WCHARтолько . Эти функции позволяют преобразовывать входные данные UTF-8 для WCHAR передачи в API -W, а затем при необходимости преобразовывать все результаты.
При использовании этих функций с CodePage заданным значением CP_UTF8, использование dwFlags любого 0 из них или MB_ERR_INVALID_CHARSиным образом ERROR_INVALID_FLAGS происходит.
Примечание
CP_ACPПриравнивается только к CP_UTF8 тому, что в Windows версии 1903 (обновление за май 2019 г.) или более поздней версии, а для свойства ActiveCodePage, описанного выше, задано значение UTF-8. В противном случае она учитывает устаревшую системную кодовую страницу. Рекомендуется использовать CP_UTF8 явно.
- Кодовые страницы
- Идентификаторы кодовой страницы
Как открыть файл в кодировке UTF-8?
Программирование › PHP › Прочее › Как поставить кодировку utf 8 в PHP?
Как, чем открыть файл. utf8?
- Блокнот Windows.
- Microsoft WordPad.
- gVim.
- Microsoft Word 2019.
- Любой текстовый редактор
- Как открыть файл в кодировке UTF-8 Excel?
- Как сменить кодировку на UTF-8?
- Как включить кодировку UTF-8?
- Как открыть файл в другой кодировке?
- Как исправить иероглифы в Excel?
- Для чего нужна кодировка UTF-8?
- Что делать если документ Ворд открывается иероглифами?
- Как исправить кодировку текстового файла?
- Какая кодировка в PDF?
- Какая кодировка поддерживает русский?
- Как можно снять кодировку?
- Как установить кодировку UTF-8 в HTML?
- Как поменять кодировку базы данных?
- Как изменить кодировку таблицы?
- Как сохранить файл в кодировке UTF-8 без BOM?
- Как изменить кодировку файла с Windows 1251 на UTF-8?
- Как изменить кодировку в Windows 10?
- Как сменить кодировку в блокноте на UTF-8?
- Как исправить иероглифы в Windows 10?
- Какой тег устанавливает кодировку utf-8?
- Как определить кодировку текста в файле?
- Как установить кодировку документа?
- Какая кодировка используется в Windows 10?
- Какая кодировка в HTML?
- Как изменить кодировку файла в cmd?
- Как сохранить документ в кодировке UTF-8?
- Как поменять кодировку письма в Outlook?
- Как сохранить Excel в CSV UTF-8?
- Как поставить кодировку UTF-8 в С ++?
- Сколько байт кодируют один символ в кодировке UTF-8?
Как открыть файл в кодировке UTF-8 Excel?
Вводим название файла, тип файла выбираем CSV, ниже нажимаем «Сервис» → «Параметры веб-документа».
Переходим на вкладку «Кодировка», выбираем «Юникод UTF-8» и нажимаем «OK». Файл сохранён. Теперь импортируем его и видим, что текст отображается корректно.
Как сменить кодировку на UTF-8?
Откройте страницу с некорректной кодировкой. Нажмите правой кнопкой на экран. Наведите указатель мыши на пункт «Кодировка». В раскрывшемся меню выберите Unicode (UTF-8).
Как включить кодировку UTF-8?
Модификации => Свойства страницы => Заголовок/Кодировка и выставляем кодировку UTF-8. Нажимаем «перезагрузить», убрали галочку с Подключить Юникод Сигнатуры (BOM). Применить и OK.
Как открыть файл в другой кодировке?
Выбор кодировки при открытии файла:
- Откройте вкладку Файл.
- Нажмите кнопку Параметры.
- Нажмите кнопку Дополнительно.
- Перейдите к разделу Общие и установите флажокПодтверждать преобразование формата файла при открытии.
- Закройте, а затем снова откройте файл.
Как исправить иероглифы в Excel?
Выбираем пункт «Параметры веб-документа»; переходим на закладку «Кодировка» и выбираем вместо Кириллицы Юникод (UTF-8), жмём «ОК».
Для чего нужна кодировка UTF-8?
Unicode Transformation Format, 8-bit — «формат преобразования Юникода, 8-бит») — распространённый стандарт кодирования символов, позволяющий более компактно хранить и передавать символы Юникода, используя переменное количество байт (от 1 до 4), и обеспечивающий полную обратную совместимость с 7-битной кодировкой ASCII.
Что делать если документ Ворд открывается иероглифами?
Дело в том, что начиная с Word 2007 появился новый формат — «docx» (раньше был просто «doc»). Обычно, в «старом» Word нельзя открыть новые форматы файлов, но случается иногда так, что эти «новые» файлы открываются в старой программе.
Как исправить кодировку текстового файла?
Изменить кодировку текстового файла, создаваемого в Windows можно легко с помощью встроенной программы «Блокнот». Для этого достаточно открыть требуемый файл и нажать «Файл» -> «Сохранить как». В выпавшем меню выбрать требуемую кодировку и сохранить текстовой файл.
Какая кодировка в PDF?
Встроенные шрифты файлов PDF относятся к кодировке Windows1252.
Практически все остальные шрифты используют набор символов UTF-16. При использовании этого значения параметра обычно создаются файлы большего размера по сравнению с параметром Windows1252.
Какая кодировка поддерживает русский?
Наиболее распространёнными кодировками с поддержкой Русского языка (с использованием символов Кириллицы) являются: UTF-8, Windows-1251, CP-866, KOI-8R, ISO-8859-5.
Как можно снять кодировку?
Самый надежный способ снять кодировку от алкоголя — отправиться в медицинский центр, где специалисты подберут необходимый антидот и вернут организму пациента нормальную восприимчивость к алкоголю. Врач психиатр-нарколог.
Как установить кодировку UTF-8 в HTML?
Кодировка Чтобы сообщить браузеру, в какой кодировке находятся символы веб-страницы, необходимо установить параметр <meta http-equiv=«Content-Type» content=«text/html; charset=имя кодировки»>. Для операционной системы Windows и кириллицы charset обычно принимает значение utf-8 или windows-1251 (пример 4).
Как поменять кодировку базы данных?
Самый быстрый и простой способ — пересохранить копию базу данных в любом текстовом редакторе (sublime text, notepad++) в нужной кодировке и импортировать на место старой. Можно проделать данную операцию используя SQL-запросы в phpMyAdmin. Остается только скопировать результаты и вставить их в форму нового SQL запроса.
Как изменить кодировку таблицы?
Смена кодировки через запрос для конвертации базы
Заходим в phpmyadmin → слева нажимаем на вашу базу → вкладка SQL и выполняем. ALTER TABLE `db_name`. `table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; Данный запрос конвертирует базу в указанную кодировку, доступную для MySQL.
Как сохранить файл в кодировке UTF-8 без BOM?
Функции PHP сохраняют текст в файл в кодировке ANSI, чтобы изменить её на UTF-8 нужно к началу текста приписать строку \xEF\xBB\xBF.
Как изменить кодировку файла с Windows 1251 на UTF-8?
Сохраняете в нужной вам кодировке (верхнее меню — файл — сохранить как — в открывшемся окне нижнее выпадающее меню — кодировка — выбрать UTF-8) — в поле имени файла ввести желаемое, при необходимости, — не забыть нажать большую клавишу Enter).
Как изменить кодировку в Windows 10?
Заходим в Панель управления->Язык и региональные стандарты->Закладка «Дополнительно»->Язык программ не поддерживающих Юникод. Меняем язык с Русского на Английский, перезагружаем компьютер, снова меняем на русский и опять перезагружаем компьютер. Снова наслаждаемся красивыми родными шрифтами!
Как сменить кодировку в блокноте на UTF-8?
Очень кратко:
- C:\Windows\ShellNew — создаем пустой текстовый файл, сохраняемым как UTF-8, переименовываем в UTF-8. txt. Он будет шаблоном.
- Заходим в реестр HKEY_CLASSES_ROOT /. txt / ShellNew / — создаем «Строковый параметр»: имя — FileName / значение — UTF-8. txt.
Как исправить иероглифы в Windows 10?
Нажмите клавиши Win+R на клавиатуре, введите regedit и нажмите Enter, откроется редактор реестра. и в правой части пролистайте значения этого раздела до конца. Дважды нажмите по параметру ACP, установите значение 1251 (кодовая страница для кириллицы), нажмите Ок и закройте редактор реестра.
Какой тег устанавливает кодировку utf-8?
Кодировка в meta-теге
Данный тег говорит о том, что документ использует кодировку UTF-8, или так называемый Юникод. Наиболее распространенными кодировками являются UTF-8 и Windows-1251.
Как определить кодировку текста в файле?
Открыть искомый текстовый файл в Блокноте Windows и выбрать пункт меню «Файл» -> «Сохранить как». Пример текстового файла, в котором русский текст задан в формате UTF, но это не очевидно при открытии. 2. В открывшемся диалоговом окне вы сразу видите, в какой кодировке был сохранён текст в текстовом файле.
Как установить кодировку документа?
1 способ. С помощью программы Notepad++
Открываем HTML-страницу с помощью этой программы и переходим в главное меню «Кодировки». Выбираем ту кодировку, в которую нужно выполнить преобразование и сохраняем файл. Вот и вся процедура.
Какая кодировка используется в Windows 10?
Windows-1251 — набор символов и кодировка, являющаяся стандартной 8-битной кодировкой для русских версий Microsoft Windows до 10-й версии.
Какая кодировка в HTML?
Utf-8.
Кодировку HTML-страницы нужно указывать для того, чтобы веб-браузер мог правильно отображать текст на странице. Если браузер неправильно угадает кодировку, то вместо текста будут отображаться иероглифы. Самая распространённая современная кодировка — utf-8.
Как изменить кодировку файла в cmd?
Узнать текущую кодировку можно введя в командной строке команду chcp, после ввода данной команды необходимо нажать Enter. Для изменения кодировки нам необходимо воспользоваться командой chcp <код_новой_кодировки>, где <код_новой_кодировки> — это сам код кодировки, на которую мы хотим переключиться.
Как сохранить документ в кодировке UTF-8?
Правой кнопкой мыши нажмите на сохранённый файл, выберите Открыть с помощью, затем на Блокнот. Нажмите на Файл, затем на сохранить как. Внизу окна Вы увидите раскрывающийся список (dropdown list) с методом поддержания кодировок Encoding. Выберите UTF-8 и нажмите на сохранить.
Как поменять кодировку письма в Outlook?
В Microsoft Outlook, выберите файл>параметр > Дополнительно. В разделе Параметры международных Кодировка исходящих сообщений для параметра UTF-8.
Как сохранить Excel в CSV UTF-8?
Нажмите на Файл, затем на сохранить как. Внизу окна Вы увидите раскрывающийся список (dropdown list) с методом поддержания кодировок Encoding. Выберите UTF-8 и нажмите на сохранить. Обратите внимание: Важно, чтобы название файле не было изменено.
Как поставить кодировку UTF-8 в С ++?
Выберите страницу свойств Свойства> конфигурацииC/C++>Командная строка. В окне Дополнительные параметрыдобавьте /utf-8 параметр, чтобы указать предпочтительную кодировку. Выберите ОК для сохранения внесенных изменений.
Сколько байт кодируют один символ в кодировке UTF-8?
Каждый байт содержит 8 бит, таким образом каждый символ русского алфавита кодируется 2 байтами (16/8).
Использовать кодовые страницы UTF-8 в приложениях для Windows — Приложения для Windows
Редактировать
Твиттер LinkedIn Фейсбук Электронная почта
- Статья
- 2 минуты на чтение
Используйте кодировку символов UTF-8 для оптимальной совместимости между веб-приложениями и другими платформами на базе *nix (Unix, Linux и варианты), минимизируйте ошибки локализации и уменьшите затраты на тестирование.
UTF-8 — это универсальная кодовая страница для интернационализации, которая может кодировать весь набор символов Unicode. Он широко используется в Интернете и используется по умолчанию для платформ на основе * nix.
Установите кодовую страницу процесса в UTF-8
Начиная с версии Windows 1903 (обновление за май 2019 г.) вы можете использовать свойство ActiveCodePage в appxmanifest для упакованных приложений или манифест fusion для неупакованных приложений, чтобы заставить процесс используйте UTF-8 в качестве кодовой страницы процесса.
Вы можете объявить это свойство и использовать его в более ранних сборках Windows, но вы должны выполнять обнаружение и преобразование устаревших кодовых страниц как обычно.
С минимальной целевой версией Windows версии 1903, кодовая страница процесса всегда будет UTF-8, поэтому можно избежать обнаружения и преобразования устаревшей кодовой страницы.
Примечание
Закодированный символ занимает от 1 до 4 байтов. Кодировка UTF-8 поддерживает более длинные последовательности байтов, до 6 байтов, но самая большая кодовая точка Unicode 6.0 (U+10FFFF) занимает всего 4 байта.
Примеры
Манифест Appx для упакованного приложения:
<Пакет xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
...
xmlns:uap7="http://schemas.microsoft.com/appx/manifest/uap/windows10/7"
xmlns:uap8="http://schemas.microsoft.com/appx/manifest/uap/windows10/8"
...
IgnorableNamespaces="... uap7 uap8 ...">
<Приложения>
<Приложение...>
UTF-8
Приложение>
Приложения>
Пакет>
Манифест Fusion для неупакованного приложения Win32:
0" encoding="UTF-8" standalone="yes"?><приложение> <настройки окна> UTF-8 Настройки Windows> приложение> сборка>
Примечание
Добавьте манифест к существующему исполняемому файлу из командной строки с помощью mt.exe -manifest
-A vs. -W APIs
API Win32 часто поддерживают варианты -A и -W.
Варианты -A распознают кодовую страницу ANSI, настроенную в системе, и поддерживают char* , а варианты -W работают в UTF-16 и поддерживают WCHAR .
До недавнего времени Windows делала упор на варианты «Unicode» -W, а не на -A API. Однако в недавних выпусках использовалась кодовая страница ANSI и API-интерфейсы -A в качестве средства внедрения поддержки UTF-8 в приложения.
Если кодовая страница ANSI настроена для UTF-8, API-интерфейсы -A обычно работают в UTF-8. Преимущество этой модели заключается в поддержке существующего кода, созданного с помощью API-интерфейсов -A, без каких-либо изменений кода.
Преобразование кодовой страницы
Поскольку Windows изначально работает в UTF-16 ( WCHAR ), вам может потребоваться преобразовать данные UTF-8 в UTF-16 (или наоборот) для взаимодействия с Windows API.
MultiByteToWideChar и WideCharToMultiByte позволяют выполнять преобразование между UTF-8 и UTF-16 ( WCHAR ) (и другими кодовыми страницами). Это особенно полезно, когда устаревший API Win32 может понимать только WCHAR . Эти функции позволяют преобразовать ввод UTF-8 в .WCHAR
CodePage , установленным на CP_UTF8 , используйте dwFlags из 0 или MB_ERR_INVALID_CHARS , в противном случае возникает ERROR_INVALID0500 .
Примечание
CP_ACP соответствует CP_UTF8 только при работе в Windows версии 1903 (обновление за май 2019 г.) или более поздней версии, а для описанного выше свойства ActiveCodePage установлено значение UTF-8. В противном случае он учитывает кодовую страницу устаревшей системы. Мы рекомендуем использовать CP_UTF8 явно.
- Кодовые страницы
- Идентификаторы кодовых страниц
Обратная связь
asp classic — кодовая страница 65001 и utf-8 — это одно и то же?
спросил
Изменено 2 года, 8 месяцев назад
Просмотрено 115 тысяч раз
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <голова>
Верен ли приведенный выше код?
- asp-classic
- кодовые страницы
Да.
UTF-8 — это CP65001 в Windows (это просто способ указать UTF-8 в устаревшей кодовой странице). Насколько я читал, ASP может обрабатывать UTF-8, если указано таким образом.
9
Ваш код правильный, хотя я предпочитаю устанавливать CharSet в коде, а не использовать метатег: —
<% Response.CharSet = "UTF-8" %>
Кодовая страница 65001 относится к набору символов UTF-8. Вам нужно будет убедиться, что ваша страница asp (и любые включения) сохранены как UTF-8, если они содержат какие-либо символы за пределами стандартного набора символов ASCII.
Указав атрибут CODEPAGE в блоке <%@, вы указываете, что все, что пишется с использованием Response.Write, должно быть закодировано с указанной кодовой страницей, в данном случае 65001 (utf-8). Стоит иметь в виду, что это не влияет на статический контент, который дословно отправляется байт за байтом в ответ. Следовательно, причина, по которой файл должен быть фактически сохранен с использованием указанной кодовой страницы.
Свойство CharSet ответа устанавливает значение CharSet заголовка Content-Type. Это не влияет на то, как контент может быть закодирован, он просто сообщает клиенту, какая кодировка принимается. Опять же важно, чтобы его значение соответствовало фактической отправленной кодировке.
3
Да, 65001 — это идентификатор кодовой страницы Windows для UTF-8, как указано на веб-сайте Microsoft. Википедия предполагает, что кодовая страница IBM 128 и кодовая страница SAP 4110 также являются индикаторами для UTF-8.

0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity type="win32" name="..." version="6.0.0.0"/>
<application>
<windowsSettings>
<activeCodePage xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings">UTF-8</activeCodePage>
</windowsSettings>
</application>
</assembly>