views:

185

answers:

1

Hi,

I have a header file in C++/CLI project, which contains some strings in different languages. arabic, english, german, chinese, french, japanese etc...

I have a second project written in C#. Here I access the strings stored in the header file of the C++/CLI project.

The encoding of the header file is Unicode - Codepage 1200 or UTF-8. the visual studio editor is able to display the strings correctly. At runtime I access these strings and assign them into a local String variable. Here I recognized that many strings are not shown correctly. Doesn't matter if I assign them or not. Accessing the original place (while debugging) shows me all the foreign strings with question marks. Especially chinese, just question marks.

Example : "So?e St?ange ?ext in Ch?n?se" (This is not the best example, I know)

What is the problem? I read that C# is by default UTF-16, My header file containing the strings is UTF-16 or UTF-8.

I must be able to handle strings in different languages. What am I doing wrong?

A: 

The '?" means that the text is read as Unicode(UTF16) and somehwere there is a conversion to your current code page. Since your current codepage is NOT chinese the chinese chararcters will get transformed to '?'

It would be helpful to see the code.

Dominik Weber