I've recently tried to get the full picture about what steps to take to create plattform independent C++ applikations that support unicode. A thing that is confusing to me is that most howtos and stuff equalize the character encoding (i.e. ANSI or Unicode) and the character datatype (char or wchar_t). As far as I've learned so far these are different things and there may exist a character sequence encodeded in Unicode but represented by std::string as well as a character sequence encoded in ANSI but represented as std::wstring, Right?
So the question that arises to me is whether the C++ standard gives any quarantee about the encoding of string literals starting with L
or does it just say it's of type wchar_t with compiler implementation specific character encoding?
If there is no such quaranty does that mean I need some sort of external resource system to provide non ASCII string literals for my applikation in a platform independent way? What is the prefered way for this? Resource system or proper encoding of source files plus proper compiler options?