diff --git a/lib/modules/Standards.pmod/IIM.pmod b/lib/modules/Standards.pmod/IIM.pmod
index b492d157e717efb38ea8466c01566662527dee21..8f06f5bdd927ac2e59cb8aaf56ae269befd4d520 100644
--- a/lib/modules/Standards.pmod/IIM.pmod
+++ b/lib/modules/Standards.pmod/IIM.pmod
@@ -205,11 +205,34 @@ protected mapping(string:string|array(string)) decode_photoshop_data(string data
 	(string)record_set + ":" + (string)id;
 
       if (label == "coded character set") {
-	if (data == "\e%G") {
-	  res->charset = (res->charset || ({})) + ({ "UTF-8" });
-	} else if (data == "\e%5") {
-	  res->charset = (res->charset || ({})) + ({ "iso-8859-1" });
-	}	
+	string charset = ([
+	  "\e%/@": "UTF-16",	// ISO-IR 162 (NB: Actually UCS-2 level 1)
+	  "\e%/A": "UTF-32",	// ISO-IR 163 (NB: Actually UCS-4 level 1)
+	  "\e%/B": "ISO-8859-1",// ISO-IR 125 (NB: Actually binary)
+	  "\e%/C": "UTF-16",	// ISO-IR 174 (NB: Actually UCS-2 level 2)
+	  "\e%/D": "UTF-32",	// ISO-IR 175 (NB: Actually UCS-4 level 2)
+	  "\e%/E": "UTF-16",	// ISO-IR 176 (NB: Actually UCS-2 level 3)
+	  "\e%/F": "UTF-32",	// ISO-IR 177 (NB: Actually UCS-4 level 3)
+	  "\e%/G": "UTF-8",	// ISO-IR 190 (NB: Actually UTF-8 level 1)
+	  "\e%/H": "UTF-8",	// ISO-IR 191 (NB: Actually UTF-8 level 2)
+	  "\e%/I": "UTF-8",	// ISO-IR 192 (NB: Actually UTF-8 level 3)
+	  "\e%/J": "UTF-16",	// ISO-IR 193 (NB: Actually UTF-16 level 1)
+	  "\e%/K": "UTF-16",	// ISO-IR 194 (NB: Actually UTF-16 level 2)
+	  "\e%/L": "UTF-16",	// ISO-IR 195 (NB: Actually UTF-16 level 3)
+	  "\e%5": "ISO-8859-1",
+	  "\e%@": "ISO-2022",	// ISO-IR 108, ISO-IR 178
+	  "\e%A": "NAPLPS",	// ISO-IR 108
+	  "\e%B": "UTF-1",	// ISO-IR 178
+	  "\e%C": "T.101 DS1",	// ISO-IR 131
+	  "\e%D": "T.101 DS2",	// ISO-IR 145
+	  "\e%E": "T.101 PHOTO",// ISO-IR 160
+	  "\e%F": "T.101 AUDIO",// ISO-IR 161
+	  "\e%G": "UTF-8",	// ISO-IR 196
+	  "\e%H": "T.107 VEMMI",// ISO-IR 188
+	])[data];
+	if (charset) {
+	  res->charset = (res->charset || ({})) + ({ charset });
+	}
       }
 
       if (label == "special instructions" && lower_case(data) == "nyhedstjeneste")