Mercurial > hg > orthanc
diff Core/Toolbox.cpp @ 949:766a57997121
enumeration for encodings
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 25 Jun 2014 15:02:37 +0200 |
parents | b3f6fb1130cd |
children | 8811abd6aec9 |
line wrap: on
line diff
--- a/Core/Toolbox.cpp Wed Jun 25 11:36:41 2014 +0200 +++ b/Core/Toolbox.cpp Wed Jun 25 15:02:37 2014 +0200 @@ -495,11 +495,27 @@ std::string Toolbox::ConvertToUtf8(const std::string& source, - const char* fromEncoding) + const Encoding sourceEncoding) { + const char* encoding; + + switch (sourceEncoding) + { + case Encoding_Utf8: + // Already in UTF-8: No conversion is required + return source; + + case Encoding_Latin1: + encoding = "ISO-8859-1"; + break; + + default: + throw OrthancException(ErrorCode_ParameterOutOfRange); + } + try { - return boost::locale::conv::to_utf<char>(source, fromEncoding); + return boost::locale::conv::to_utf<char>(source, encoding); } catch (std::runtime_error&) {