1
可以說我有這個代碼片段,它返回一個unicode CLR字符串與西裏爾字母Unicode字符串++/CLI
property String^ EIDErrorDescriptionSr {
String^ get()
{
switch(EIDErrorCode)
{
case EID_OK: return "Операција успешно завршена";
...
當我看到在C#代碼屬性引用此組件中,我得到了一堆的「?」就好像C++編譯器將字符串「扁平化」爲單字節字符一樣。
我沒有保存C++源文件爲UTF-8(甚至是Unicode的),我總是得到從編譯器爲每個非ANSI字符這樣的警告:
警告C4566:字符由universal-代表 角色名「\ u041E」 不能在當前 代碼頁(1252)
現在表示,有一個編譯器開關來強制編譯器把文字爲Unicode?我似乎無法找到一個。
嘗試一個Unicode字符串文字:`L「...」`。 – Philipp 2010-11-24 14:39:47