add encoding check

This commit is contained in:
Glenn Maynard
2006-04-24 16:08:39 +00:00
parent d11ed7b8bf
commit 668a958fa2
+24
View File
@@ -540,6 +540,30 @@ void LanguagesDlg::OnBnClickedCheckLanguage()
}
}
{
FOREACH_CONST_Child( &ini2, key )
{
FOREACH_CONST_Attr( key, value )
{
const RString &sSection = key->m_sName;
const RString &sID = value->first;
const RString &sCurrentLanguage = value->second;
if( utf8_is_valid(sCurrentLanguage) )
continue;
/* The text isn't valid UTF-8. We don't know what encoding it is; guess that it's
* ISO-8859-1 and convert it so it'll display correctly and can be pasted into
* the file. Don't include the original text: if we include multiple encodings
* in the resulting text file, editors won't understand the encoding of the
* file and will pick one arbitrarily. */
file.PutLine( ssprintf("Incorrect encoding in section [%s]:", sSection.c_str()) );
wstring wsConverted = ConvertCodepageToWString( sCurrentLanguage, 1252 );
RString sConverted = WStringToRString( wsConverted );
file.PutLine( ssprintf("%s=%s", sID.c_str(), sConverted.c_str()) );
}
}
}
{
FOREACH_CONST_Child( &ini1, key )
{