/ / Angielski program C ++ na obcym systemie operacyjnym - c ++, gniazda, czat, tłumaczenie

Angielski program C ++ w obcym systemie operacyjnym - c ++, gniazda, czat, tłumaczenie

Mam system czatu, który działa idealnie dla systemów operacyjnych w języku angielskim. Używa zestawu znaków Multibyte, podobnie jak serwer, który go napędza.

Mam chińskich klientów, którzy korzystają z programu. Po odebraniu wiadomości dzieje się jedna z dwóch rzeczy: jeśli wiadomość została napisana po chińsku, spacje nie są wyświetlane. Jeśli została napisana w języku angielskim, bity i kawałki są wyświetlane jako obce znaki.

Jakakolwiek rada?

Odpowiedzi:

1 dla odpowiedzi № 1

Gdy używasz systemu Windows 7 dla klienta i systemu WindowsServer 2008 R2 dla serwera, nie sądzę, że twój problem jest spowodowany zmianą „endianness”. Wspomniałeś, że używasz zestawu znaków „wielobajtowych”. Zakładam więc, że twoje dane nie używają jednego ze standardowych kodowań Unicode, takich jak jako utf-8 / UTF-16 / UTF-32, ale raczej używa stron kodowych w stylu przed Unicode do kodowania danych. Jeśli jedna strona kodowa jest używana, gdy klient wprowadza tekst na czacie i jest wyświetlany z inną stroną kodową na na komputerze odbiorcy tekst może nie być wyświetlany poprawnie.