Строки Unicode в моем приложении C # показаны со знаками вопроса - PullRequest
1 голос
/ 24 марта 2010

У меня есть заголовочный файл в проекте C ++ / CLI, который содержит несколько строк на разных языках. арабский, английский, немецкий, китайский, французский, японский и т. д. ...

У меня есть второй проект, написанный на C #. Здесь я получаю доступ к строкам, хранящимся в заголовочном файле проекта C ++ / CLI.

Кодировка заголовочного файла - Unicode - кодовая страница 1200 или UTF-8. Визуальный редактор студии способен правильно отображать строки. Во время выполнения я обращаюсь к этим строкам и назначаю их в локальную переменную String. Здесь я понял, что многие строки не отображаются правильно. Неважно, назначу я их или нет. Доступ к исходному месту (во время отладки) показывает мне все иностранные строки с вопросительными знаками. Особенно китайский, просто вопросительные знаки.

Пример: "Так что же," St? Ange? Ext "на Ch? N? Se" (Это не лучший пример, я знаю)

В чем проблема? Я читал, что C # по умолчанию UTF-16, Мой заголовочный файл, содержащий строки, - UTF-16 или UTF-8.

Я должен уметь обрабатывать строки на разных языках. Что я делаю не так?

1 Ответ

0 голосов
/ 24 августа 2010

«?» Означает, что текст читается как Unicode (UTF16) и где-то происходит преобразование в вашу текущую кодовую страницу. Поскольку ваша текущая кодовая страница НЕ китайская, китайские символы будут преобразованы в «?»

Было бы полезно увидеть код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...