better attempts to try .utf-8 suffix

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2003-07-25 09:40:21 +00:00
parent fe164c3e2e
commit 2d34a3036e
2 changed files with 24 additions and 4 deletions

View File

@@ -216,11 +216,15 @@ done
24. Fix wxLocale::Init to try xx_YY.utf8 on systems where xx_YY fails 24. Fix wxLocale::Init to try xx_YY.utf8 on systems where xx_YY fails
(presumably RedHat; do it in Unicode mode only) (presumably RedHat; do it in Unicode mode only)
See: Patch [ 766893 ] See: Patch [ 766893 ], [ 775994 ]
Checking in intl.cpp; Checking in intl.cpp;
/pack/cvsroots/wxwindows/wxWindows/src/common/intl.cpp,v <-- intl.cpp /pack/cvsroots/wxwindows/wxWindows/src/common/intl.cpp,v <-- intl.cpp
new revision: 1.97; previous revision: 1.96 new revision: 1.97; previous revision: 1.96
done done
Checking in intl.cpp;
/pack/cvsroots/wxwindows/wxWindows/src/common/intl.cpp,v <-- intl.cpp
new revision: 1.100; previous revision: 1.99
done
Checking in changes.txt; Checking in changes.txt;
/pack/cvsroots/wxwindows/wxWindows/docs/changes.txt,v <-- changes.txt /pack/cvsroots/wxwindows/wxWindows/docs/changes.txt,v <-- changes.txt
new revision: 1.297; previous revision: 1.296 new revision: 1.297; previous revision: 1.296

View File

@@ -683,11 +683,27 @@ bool wxLocale::Init(const wxChar *szName,
static wxWCharBuffer wxSetlocaleTryUTF(int c, const wxChar *lc) static wxWCharBuffer wxSetlocaleTryUTF(int c, const wxChar *lc)
{ {
wxMB2WXbuf l = wxSetlocale(c, lc); wxMB2WXbuf l = wxSetlocale(c, lc);
if ( lc && lc[0] != 0 && !l ) if ( !l && lc && lc[0] != 0 )
{ {
wxString buf(lc); wxString buf(lc);
buf += wxT(".utf8"); wxString buf2;
l = wxSetlocale(c, buf.c_str()); buf2 = buf + wxT(".UTF-8");
l = wxSetlocale(c, buf2.c_str());
if ( !l )
{
buf2 = buf + wxT(".utf-8");
l = wxSetlocale(c, buf2.c_str());
}
if ( !l )
{
buf2 = buf + wxT(".UTF8");
l = wxSetlocale(c, buf2.c_str());
}
if ( !l )
{
buf2 = buf + wxT(".utf8");
l = wxSetlocale(c, buf2.c_str());
}
} }
return l; return l;
} }