diff --git a/build.xml b/build.xml
index 8eddf3e7..4629bb71 100644
--- a/build.xml
+++ b/build.xml
@@ -169,6 +169,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/qz/common/AboutInfo.java b/src/qz/common/AboutInfo.java
index f369c29e..87d06c41 100644
--- a/src/qz/common/AboutInfo.java
+++ b/src/qz/common/AboutInfo.java
@@ -25,6 +25,7 @@
import java.io.InputStreamReader;
import java.lang.management.ManagementFactory;
import java.net.URL;
+import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.security.GeneralSecurityException;
import java.security.cert.CertificateEncodingException;
@@ -46,6 +47,7 @@ public static JSONObject gatherAbout(String domain, CertificateManager certifica
about.put("environment", environment());
about.put("ssl", ssl(certificateManager));
about.put("libraries", libraries());
+ about.put("charsets", charsets());
}
catch(JSONException | GeneralSecurityException e) {
log.error("Failed to write JSON data", e);
@@ -153,6 +155,19 @@ private static JSONObject libraries() throws JSONException {
return libraries;
}
+ private static JSONObject charsets() throws JSONException {
+ JSONObject charsets = new JSONObject();
+
+ SortedMap avail = Charset.availableCharsets();
+ ArrayList names = new ArrayList<>();
+ for(Map.Entry entry : avail.entrySet()) {
+ names.add(entry.getValue().name());
+ }
+
+ charsets.put("charsets", Arrays.toString(names.toArray()));
+ return charsets;
+ }
+
public static String getPreferredHostname() {
return preferredHostname;
}