"Content-Transfer-Encoding: ENCODING\n"
\end{verbatim}
-Notice this particular line:
+Note this particular line:
\begin{verbatim}
"Content-Type: text/plain; charset=CHARSET\n"
Windows).
How is this done? When you tell the wxLocale class to load a message catalog that
-contains correct header, it checks the charset. If the
-charset is "alien" on the platform the program is currently running (e.g.
-any of ISO encodings under Windows or CP12XX under Unix) it uses
-\helpref{wxEncodingConverter::GetPlatformEquivalents}{wxencodingconvertergetplatformequivalents}
-to obtain an encoding that is more common on this platform and converts
-the message catalog to this encoding. Note that it does {\bf not} check
-for presence of fonts in the "platform" encoding! It only assumes that it is
-always better to have strings in platform native encoding than in an encoding
-that is rarely (if ever) used.
-
-The behaviour described above is disabled by default.
-You must set {\it bConvertEncoding} to TRUE in
-\helpref{wxLocale constructor}{wxlocaledefctor} in order to enable
-runtime encoding conversion.
+contains correct header, it checks the charset. The catalog is then converted
+to the charset used (see
+\helpref{wxLocale::GetSystemEncoding}{wxlocalegetsystemencoding} and
+\helpref{wxLocale::GetSystemEncodingName}{wxlocalegetsystemencodingname}) by
+user's operating system. This is default behaviour of the
+\helpref{wxLocale}{wxlocale} class; you can disable it by {\bf not} passing
+{\tt wxLOCALE\_CONV\_ENCODING} to \helpref{wxLocale::Init}{wxlocaleinit}.
\wxheading{Font mapping}
-You can use \helpref{wxEncodingConverter}{wxencodingconverter} and
+You can use \helpref{wxMBConv classes}{mbconvclasses} and
\helpref{wxFontMapper}{wxfontmapper} to display text:
\begin{verbatim}
-if (!wxTheFontMapper->IsEncodingAvailable(enc, facename))
+if (!wxFontMapper::Get()->IsEncodingAvailable(enc, facename))
{
wxFontEncoding alternative;
- if (wxTheFontMapper->GetAltForEncoding(enc, &alternative,
- facename, FALSE))
+ if (wxFontMapper::Get()->GetAltForEncoding(enc, &alternative,
+ facename, false))
{
- wxEncodingConverted encconv;
- if (!encconv.Init(enc, alternative))
- ...failure...
- else
- text = encconv.Convert(text);
+ wxCSConv convFrom(wxFontMapper::Get()->GetEncodingName(enc));
+ wxCSConv convTo(wxFontMapper::Get()->GetEncodingName(alternative));
+ text = wxString(text.mb_str(convFrom), convTo);
}
else
- ...failure...
+ ...failure (or we may try iso8859-1/7bit ASCII)...
}
...display text...
\end{verbatim}
\wxheading{Converting data}
You may want to store all program data (created documents etc.) in
-the same encoding, let's say windows1250. Obviously, the best way would
-be to use \helpref{wxEncodingConverter}{wxencodingconverter}.
+the same encoding, let's say {\tt utf-8}. You can use
+\helpref{wxCSConv}{wxcsconv} class to convert data to encoding used by the
+system your application is running on (see
+\helpref{wxLocale::GetSystemEncoding}{wxlocalegetsystemencoding}).
\wxheading{Help files}