瀏覽代碼

Adding encodings to decodeJSON

Andrej 1 年之前
父節點
當前提交
d8e6466211
共有 1 個文件被更改,包括 9 次插入6 次删除
  1. 9 6
      orthancDatabaseBrowser.py

+ 9 - 6
orthancDatabaseBrowser.py

@@ -4,12 +4,15 @@ import chardet
 import io
 
 def extractJSON(data):
-    encoding=chardet.detect(data)["encoding"]
-    try:
-    	return json.loads(data.decode(encoding))
-    except UnicodeDecodeError:
-      print(f'Failed to decode with [{encoding}]: {data}')
-      return None
+   encoding=chardet.detect(data)["encoding"]
+   #try with a set of encodings to maximize probability of success
+   encodings=[encoding,'utf_8']
+   for x in encodings:
+      try:
+         return json.loads(data.decode(encoding))
+      except UnicodeDecodeError:
+         print(f'Failed to decode with [{encoding}]: {data}')
+   return None
 
 
 class orthancDB: