diff --git a/simpleclient_graphite_bridge/src/main/java/io/prometheus/client/bridge/Graphite.java b/simpleclient_graphite_bridge/src/main/java/io/prometheus/client/bridge/Graphite.java index 708b025bd..5e292800c 100644 --- a/simpleclient_graphite_bridge/src/main/java/io/prometheus/client/bridge/Graphite.java +++ b/simpleclient_graphite_bridge/src/main/java/io/prometheus/client/bridge/Graphite.java @@ -5,8 +5,10 @@ import java.io.BufferedWriter; import java.io.IOException; +import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.Socket; +import java.nio.charset.Charset; import java.util.Collections; import java.util.logging.Level; import java.util.logging.Logger; @@ -50,7 +52,7 @@ public Graphite(String host, int port) { */ public void push(CollectorRegistry registry) throws IOException { Socket s = new Socket(host, port); - BufferedWriter writer = new BufferedWriter(new PrintWriter(s.getOutputStream())); + BufferedWriter writer = new BufferedWriter(new PrintWriter(new OutputStreamWriter(s.getOutputStream(), Charset.forName("UTF-8")))); Matcher m = INVALID_GRAPHITE_CHARS.matcher(""); long now = System.currentTimeMillis() / 1000; for (Collector.MetricFamilySamples metricFamilySamples: Collections.list(registry.metricFamilySamples())) { diff --git a/simpleclient_httpserver/src/main/java/io/prometheus/client/exporter/HTTPServer.java b/simpleclient_httpserver/src/main/java/io/prometheus/client/exporter/HTTPServer.java index 2a6c033dd..53a4afef5 100644 --- a/simpleclient_httpserver/src/main/java/io/prometheus/client/exporter/HTTPServer.java +++ b/simpleclient_httpserver/src/main/java/io/prometheus/client/exporter/HTTPServer.java @@ -9,6 +9,7 @@ import java.net.HttpURLConnection; import java.net.InetSocketAddress; import java.net.URLDecoder; +import java.nio.charset.Charset; import java.util.List; import java.util.Set; import java.util.HashSet; @@ -61,7 +62,7 @@ public void handle(HttpExchange t) throws IOException { String contextPath = t.getHttpContext().getPath(); ByteArrayOutputStream response = this.response.get(); response.reset(); - OutputStreamWriter osw = new OutputStreamWriter(response); + OutputStreamWriter osw = new OutputStreamWriter(response, Charset.forName("UTF-8")); if ("/-/healthy".equals(contextPath)) { osw.write(HEALTHY_RESPONSE); } else {