From 75e76ea248ae4674afa7ab2e3e2a018228073dc3 Mon Sep 17 00:00:00 2001
From: Vadim Savchuk <vsavchuk@productengine.com>
Date: Wed, 4 Aug 2010 16:52:22 +0300
Subject: EXT-8524 FIXED Non-ASCII character corruption in date.

Convert formatted date from system charset to UTF-8 on Windows (other OSes don't require this).

See http://jira.secondlife.com/browse/EXT-8318 for more details.

Reviewed by Sergey Litovchuk at https://codereview.productengine.com/secondlife/r/834/

--HG--
branch : product-engine
---
 indra/llcommon/lldate.cpp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

(limited to 'indra/llcommon')

diff --git a/indra/llcommon/lldate.cpp b/indra/llcommon/lldate.cpp
index a7ef28b431..04583cdd4a 100644
--- a/indra/llcommon/lldate.cpp
+++ b/indra/llcommon/lldate.cpp
@@ -121,7 +121,12 @@ std::string LLDate::toHTTPDateString (tm * gmt, std::string fmt)
 	// use strftime() as it appears to be faster than std::time_put
 	char buffer[128];
 	strftime(buffer, 128, fmt.c_str(), gmt);
-	return std::string(buffer);
+	std::string res(buffer);
+#if LL_WINDOWS
+	// Convert from locale-dependant charset to UTF-8 (EXT-8524).
+	res = ll_convert_string_to_utf8_string(res);
+#endif
+	return res;
 }
 
 void LLDate::toStream(std::ostream& s) const
-- 
cgit v1.2.3