В моем серверном приложении я пытаюсь проанализировать свои ответы с помощью UTF-8 на греческом языке, но, поскольку мой локальный набор символов равен 1254, я не могу найти каждый греческий символ.
Я попытался установить локальные темы как 1253, но это не сработало. Я хочу знать, есть ли способ конвертировать строку UTF-8 в windows.1253 (греческий) в моем компьютере с набором символов 1254 только для определенных ответов клиента.
Кстати, когда я изменяю свои региональные настройки на греческий, у меня нет никаких проблем, но я не могу следовать этому решению, потому что мои локальные настройки должны оставаться в качестве окон.
Обновление на основе комментариев:
Это ответ, который я получаю в UTF-8
"Valuation_Date":"10\/10\/2019 12:00:00 πμ"
Вот как мое приложение получает его
"Valuation_Date":"10\/10\/2019 12:00:00 πμ"
Код, через который эта строка проходит после своего Unicodewstring
std::string returnGivenCodePage(const std::wstring &unicodeString)
{
std::string result;
int numberOfBytesNeeded = WideCharToMultiByte(1253, WC_NO_BEST_FIT_CHARS,
unicodeString.c_str(), (int)unicodeString.length(),
NULL, 0, NULL, NULL);
int numberOfBytesWritten = WideCharToMultiByte(1253, WC_NO_BEST_FIT_CHARS,
unicodeString.c_str(), (int)unicodeString.length(),
&result[0], numberOfBytesNeeded, NULL, NULL);
return result;
}
и, наконец, это версия после того, как я изменил ее на SystemWindowsAnsi, которая 1253 (греческий язык), но мой локальный по умолчанию 1254 (турецкий)
<ValuationDate>10/10/2019 12:00:00 ğì</ValuationDate>
И конечноэто лишь малая часть действительно большого ответа.
На самом деле я хочу преобразовать строку UTF-8 в windows 1253 (греческий) и после обработки на нем снова преобразовать строку UTF-8, мой текущий локальный по умолчанию - 1254(Турецкий).
Если вам нужна дополнительная информация, я буду рад поделиться еще.