c++ fstream读取utf-8字符集

C++ fstream reading utf-8 charset

本文关键字:字符集 utf-8 读取 fstream c++      更新时间:2023-10-16

我有一个带有立陶宛符号的文本文件,但它无法正确读取。而不是Ž,我得到了这个"

"

设置区域设置也不工作

setlocale(LC_ALL, "Lithuanian");

我错过了什么?

区域设置"Lithuanian"是如何定义的?特别是什么?编码是定义使用的吗?根据这个,你可能有指定区域设置中的编码。类似的也许是"Lithuanian.UTF-8",或者"Lithuanian_Lithuania.UTF-8"。在Windows下,你可能有使用"65001"代替"UTF-8"。的常用语法区域设置名称为language_location.encoding。现代Windows正在逐渐转向Posix语言环境名称,在哪里使用代码指定语言和地点来自ISO 639-1和ISO 3166-1,但根据您的版本,您可能不得不使用更老、更长的名称和代码页,而不是编码)