diff --git a/modules/webadmin.cpp b/modules/webadmin.cpp index 2afe04e3..a61f52e0 100644 --- a/modules/webadmin.cpp +++ b/modules/webadmin.cpp @@ -843,29 +843,6 @@ public: Tmpl["IRCConnectEnabled"] = CString(pNetwork->GetIRCConnectEnabled()); -#ifdef HAVE_ICU - for (const CString& sEncoding : CUtils::GetEncodings()) { - CTemplate& l = Tmpl.AddRow("EncodingLoop"); - l["Encoding"] = sEncoding; - } - const CString& sEncoding = pNetwork->GetEncoding(); - if (sEncoding.empty()) { - Tmpl["EncodingUtf"] = "legacy"; - } else if (sEncoding[0] == '*') { - Tmpl["EncodingUtf"] = "receive"; - Tmpl["Encoding"] = sEncoding.substr(1); - } else if (sEncoding[0] == '^') { - Tmpl["EncodingUtf"] = "send"; - Tmpl["Encoding"] = sEncoding.substr(1); - } else { - Tmpl["EncodingUtf"] = "simple"; - Tmpl["Encoding"] = sEncoding; - } -#else - Tmpl["EncodingDisabled"] = "true"; - Tmpl["EncodingUtf"] = "legacy"; -#endif - const vector& vServers = pNetwork->GetServers(); for (unsigned int a = 0; a < vServers.size(); a++) { CTemplate& l = Tmpl.AddRow("ServerLoop"); @@ -919,6 +896,29 @@ public: } } +#ifdef HAVE_ICU + for (const CString& sEncoding : CUtils::GetEncodings()) { + CTemplate& l = Tmpl.AddRow("EncodingLoop"); + l["Encoding"] = sEncoding; + } + const CString sEncoding = pNetwork ? pNetwork->GetEncoding() : "UTF-8"; + if (sEncoding.empty()) { + Tmpl["EncodingUtf"] = "legacy"; + } else if (sEncoding[0] == '*') { + Tmpl["EncodingUtf"] = "receive"; + Tmpl["Encoding"] = sEncoding.substr(1); + } else if (sEncoding[0] == '^') { + Tmpl["EncodingUtf"] = "send"; + Tmpl["Encoding"] = sEncoding.substr(1); + } else { + Tmpl["EncodingUtf"] = "simple"; + Tmpl["Encoding"] = sEncoding; + } +#else + Tmpl["EncodingDisabled"] = "true"; + Tmpl["EncodingUtf"] = "legacy"; +#endif + return true; } @@ -1230,7 +1230,7 @@ public: CTemplate& l = Tmpl.AddRow("EncodingLoop"); l["Encoding"] = sEncoding; } - const CString& sEncoding = pUser->GetClientEncoding(); + const CString sEncoding = pUser ? pUser->GetClientEncoding() : "UTF-8"; if (sEncoding.empty()) { Tmpl["EncodingUtf"] = "legacy"; } else if (sEncoding[0] == '*') {