Zdravím,
potřeboval bych poradit s používáním souborů v kódování UTF-8 v C++.
Jak nastavit kódování vstupu/výstupu?
Fórum › C / C++
Vstup/výstup do souboru v kódování UTF-8 pomocí C++
Původní záměr bylo, aby to jelo na konzole, ale asi to bude jednoduší s win.
Jak můžu zjistit, v jakém kódování se soubor uloží?
Zkoušel jsem nějaký prográmek na generování svg obrázků (=xml). Ten sám není až tak důležitý, spíš jsem si chtěl vyzkoušet práci se soubory a textovými řetězci. Jako nejvhodnější kódování (háčky, čárky, speciální znaky + všechny programy i notepad ho přečtou) se mi zdálo právě utf-8.
Představoval jsem si to zhruba tak, že tam dám jeden argument, že chci utf-8 a bude, ale pak se ukázalo, že to není tak úplně snadné...
To Jura : Nemyslel jsem zjištění už uloženého souboru, ale toho, co budu ukládat (abych si to tam mohl zapsat, musím vědět, co zapsat)
To w3q : Mělo to být v konzole, ale asi to bude ve Win API, protože to vypadá jednodušší. Pomocí asci tabulky to předpokládám je po jednotlivých znacích, což není zrovna user-friendly.
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ofstream soubor ("test.txt", ios::out);
soubor<<"ß$×÷öüěščřžýáíéůúó#€[|\n";
soubor.close();
system ("pause");
return 0;
}
Když udělám toto, tak se to uloží do souboru ve Win1250 (zobrazí se správně, když ve Firefoxu nastavím 1250). Notepad to přečte správně, TotalCMD taky. Zajímavé je, že když do toho souboru dám jen české znaky (ěščřžýáíéůúó) tak to TotalCMD nepřečte. Každopádně to není v utf8, což je to, o co se snažím.to flukas: c ani c++ neobsahuje nativnu podporu pre utf-8 kodovanie , tzn. pokial chcete utf8 pouzivat tak si budete musiet potrebne funkcie sam napisat, alebo sitahnut niejaku uz hotovu kniznicu napr. http://utfcpp.sourceforge.net/.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Kodovani souboru - ansi, unicode, utf — založil mario
UTF-8 kódování — založil sigf07
Vstup/vystup C — založil silent
[DB] - chybné kódování - utf-8. — založil Lighter
Nefunkční kodovaní UTF-8 — založil Arbys
Moderátoři diskuze