我要定义一个CString strPN;
strPN="Microsoft® Windows® Operating System";
但是粘到代码里就成了strPN="Microsoft? Windows? Operating System";
怎么回事??
还有就是我直接把这个字符串从一个文件里取出来放到一个Edit里,也是这样

解决方案 »

  1.   


    strPN=_T("Microsoft® Windows® Operating System"); 这样试试看。
      

  2.   

    用UNICODE工程吧strPN=_T("Microsoft® Windows® Operating System"); 
      

  3.   

    对于特殊字符,用Unicode来支持比较好..
      

  4.   

    字符集问题,使用ls很多人说的 unicode 字符集,括在括号里,前边加上_T
      

  5.   

    直接宽字符。
    CStringW strPN = L"Microsoft® Windows® Operating System"; 
      

  6.   

    因为vc6的ide比较老,所以有时你必须将源文件存储为unicode格式,或者用\uxxxx来代替部分字符。
      

  7.   

    ®不是中文字符,在中文系统中只能用Unicode表示;VC6的源文件不支持Unicode编码,所以不能直接输入®。先把项目改成使用Unicode字符集,然后这样写:
    strPN = L"Microsoft\x00ae Windows\x00ae Operating System";
      

  8.   

    楼上各位不知道有没有在VC6下试过,我挨个试了下,都不行1、首先我的工程已经改成 UNICODE 的了
    但是粘到cpp里的不是 strPN=_T("Microsoft® Windows® Operating System"); 
    还是 strPN=_T("Microsoft? Windows? Operating System");2、将cpp文件改为Unicode的方式保存成功
    但是编译的时候出现 error C2039: '' : is not a member of 'CWinApp'
    等各种错误共 60 errors3、strPN = L"Microsoft\x00ae Windows\x00ae Operating System";
    编译时出现error C2002: invalid wide-character constant
      

  9.   

    看来VC6还不支持用\x表示Unicode,那就再换种做法。先随便定义个其它字符替代®,然后再把该字符替换为0xae。
      

  10.   

    实在不行 用它的Unicode代替它 显示的时候转成其字符就好了。
      

  11.   

    strPN="Microsoft\xae Windows\xae Operating System"; 
      

  12.   

    已解决:
    1)VC6的源文件不支持Unicode编码,不能直接输入®,字符串无法直接赋值
    2)工程使用Unicode
    3)将用到的Unicode文本存储在一个Unicode编码的文本中,在程序中读取即可
    感谢各位参与