comparison OrthancServer/FromDcmtkBridge.cpp @ 107:3b45473c0a73

replace boost::locale with iconv for debian
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 04 Oct 2012 11:22:20 +0200
parents 332fec038d52
children e759f777cb72
comparison
equal deleted inserted replaced
106:332fec038d52 107:3b45473c0a73
22 #endif 22 #endif
23 23
24 #include "FromDcmtkBridge.h" 24 #include "FromDcmtkBridge.h"
25 25
26 #include "ToDcmtkBridge.h" 26 #include "ToDcmtkBridge.h"
27 #include "../Core/Toolbox.h"
27 #include "../Core/OrthancException.h" 28 #include "../Core/OrthancException.h"
28 #include "../Core/PngWriter.h" 29 #include "../Core/PngWriter.h"
29 #include "../Core/DicomFormat/DicomString.h" 30 #include "../Core/DicomFormat/DicomString.h"
30 #include "../Core/DicomFormat/DicomNullValue.h" 31 #include "../Core/DicomFormat/DicomNullValue.h"
31 #include "../Core/DicomFormat/DicomIntegerPixelAccessor.h" 32 #include "../Core/DicomFormat/DicomIntegerPixelAccessor.h"
32 33
33 #include <limits> 34 #include <limits>
34 35
35 #include <boost/locale.hpp>
36 #include <boost/lexical_cast.hpp> 36 #include <boost/lexical_cast.hpp>
37 37
38 #include <dcmtk/dcmdata/dcdicent.h> 38 #include <dcmtk/dcmdata/dcdicent.h>
39 #include <dcmtk/dcmdata/dcdict.h> 39 #include <dcmtk/dcmdata/dcdict.h>
40 #include <dcmtk/dcmdata/dcelem.h> 40 #include <dcmtk/dcmdata/dcelem.h>
86 char *c; 86 char *c;
87 if (element.getString(c).good() && 87 if (element.getString(c).good() &&
88 c != NULL) 88 c != NULL)
89 { 89 {
90 std::string s(c); 90 std::string s(c);
91 std::string utf8; 91 std::string utf8 = Toolbox::ConvertToUtf8(s, "ISO-8859-1"); // TODO Parameter?
92 try
93 {
94 utf8 = boost::locale::conv::to_utf<char>(s, "ISO-8859-1"); // TODO Parameter?
95 }
96 catch (std::runtime_error&)
97 {
98 // Bad input string or bad encoding
99 utf8 = s;
100 }
101
102 return new DicomString(utf8); 92 return new DicomString(utf8);
103 } 93 }
104 else 94 else
105 { 95 {
106 return new DicomNullValue; 96 return new DicomNullValue;