Not able to post unicode characters to ES, they show up as question marks


(Raul Covarrubias) #1

I am storing emails to ES but whenever they have a character not from iso latin like "コニカミノルタ", they get changed to ? in ES:

          "content": """

???????
?? ?

?????????????????

I am using the following code to post to ES:

		HttpPost post = new HttpPost(url);
		try {
			// set import date
			doc.setImportTimestamp(new Date());
			// convert item to json string
			post.setEntity(new StringEntity(JsonUtils.toJson(doc)));

			// index
			post.setHeader("Content-Type", "application/json; charset=UTF-8");
			// perform http post
			LOG.info("Index doc to " + url);
			LOG.info("JSON : [" + JsonUtils.toJson(doc) + "]");
			try (CloseableHttpResponse res = httpClient.execute(post)) {
				LOG.debug(IOUtils.toString(res.getEntity().getContent(), StandardCharsets.UTF_8));
			}

This is the string in the JSON object before it gets posted:

> "content": "コニカミノルタ\r\n宮脇 様\r\n\r\nいつも大変お世話になっております。\r\n\r\n今回表示されたエラーを教えていただけますでしょうか。\r\nスクリーンショットをお送りいただけますと情報として問題解決にとても\r\n助かります。\r\n\r\n検証会議につきまして、明日でも宜しければ参加をさせていただきます。\r\nお手数ですが、それまでに先ほどお送りしました証明書の追加作業が\r\n御社IT部門の方にて適用されていることをご確認いただけましたら幸甚です。\r\n\r\nご連絡をお待ちしております。\r\n\r\nどうぞよろしくお願い致します。\r\n\r\n山本 美奈子\r\nMinako Yamamoto\r\nWeb Support APAC \r\nUnified Communications Services\r\nAU +612 8295 9015 / 1800 766 770 \r\nHK 800 964 180\r\nIN 1800 3010 3990 \r\nJP 0120300532\r\nKR 0808080501\r\nSG 800 616 \r\ne WebSupport-APAC@west.com \r\nwestuc.com\r\n\r\n\r\n\r\n--------------------------------------------------------------------------------------\r\n",

Any help is welcomed.

Thanks

Raúl


(system) #2

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.