Pogledajte određenu poruku
Staro 24. 04. 2011.   #1
morando
nedovoljno naspavan
Na probnom radu
 
Datum učlanjenja: 25.03.2011
Poruke: 21
Hvala: 7
1 "Hvala" u 1 poruci
morando is on a distinguished road
Default [C++] Unicode je horor

Pošto sam relativno početnik (programiranje mi dođe kao hobi), imam velikih problema oko razumevanja ANSI vs UNICODE i korišćenja raznih funkcija koje ih koriste (vezano za unos i iznos (kako da ga nazovem na srpskom)).
Dosta puta sam pretraživao po net-u o detaljima vezanim za Unicode, ali nigde nema konkretno objašnjeno (uprošćeno) ili naći nešto kodova/primera što je veoma teško,
kao da su svi koji su pisali želeli da zvuče stručno (u očima drugih, kao da prave za njih same a ne za nekog početnika koji hoće da nauči/razume, mada je to nažalost slučaj i sa dosta drugih knjiga/tutoriala) ubacivali brdo zbunjujućih/komplikovanih stvari u takav text tako da se vraćam na sam početak po hiljadu puta.
Pošto koristim vs 2010 express, uvek kad bih pravio neku aplikaciju isključivao bih opciju "Use unicode character set".
Tek skoro sam "provalio" kako da podesim (iako je gore navedeno isključeno) da prikazujem/snimam podatke sa "našim" latiničnim slovima (npr. ŠĐČŽĆ), evo test koda:
Kôd:
#include <iostream>
#include <string>
#include <fstream>
#include <locale>

int main()
{
	setlocale(LC_ALL, ".1250");
	std::string slova = "ŠĐČŽĆ";
	std::cout << "Test slova u konzoli - " << slova << std::endl;

	std::ofstream out("out.txt");
	out << slova;
	out.close();

	std::ifstream in("out.txt");
	in >> slova;
	in.close();
	std::cout << "Test slova u konzoli - " << slova << std::endl;

	std::cout << "Press enter to exit...";
	std::cin.get();
	return 0;
}
što znači da mi ne treba unicode ako bih aplikacije suzio samo na engleski i srpski jezik.?
Tako da bih za sad ostao na ovom ANSI-ju dok ne skapiram ovo drugo, mada me samo plaši text sa ove stranice:
Citat:
ANSI code pages can be different on different computers, or can be changed for a single computer, leading to data corruption. For the most consistent results, applications should use Unicode, such as UTF-8 or UTF-16, instead of a specific code page.
Kako da, i šta da podesim da mi ovo funkcioniše sa "setlocale" funkcijom ako je moguće? a da ostanem na ANSI-ju.
Koji su to drugi kompjuteri i kako/gde bi neko ovo mogao da promeni?

Ako ima neko ljubazan da mi pomogne, objasni i/ili iskopa neki link tipa "Unicode for dummies" ili bolje ako ima "Unicode for dumber then dummies" da bih ovo skapiro.
Hvala puno unapred.
morando je offline   Odgovorite uz citat