大多数Delphier用的都是D2009以下的版本?那么你们是如何解决Unicode问题的。比如:调用OS文件类型API,比如FindFirstFile等。在Delphi默认是用FindFirstFileA,那么在取得非默认编码文件名时(Unicode->ANSI)会乱码,比如繁体系统中直接采用GB2312输入文件名,OS是用Unicode(Win2k以后)。但通过Delphi取得后由于缺少代码页映射导致取回乱码你们是如何解决类似问题的?还有数据库字段nvarchar写入Unicode编码文字时同样是如何处理的?
我的解决办法就是自己写个中间层来动态转换,想听听你们的办法。集思广益..

解决方案 »

  1.   

    类型:WideChar,PWideChar,WideString
    API:MultiByteToWideChar/WideCharToMultiByte
      

  2.   

    必要的时候,使用Unicode版本的Windows API. 
      

  3.   

    你可以直接调用 FindFirstFileW
      

  4.   

    TntExtCtrls,tntStdCtrls,TntMenus, TntComCtrls, TntButtons,TntClasses,TntSystem,TntDialogs
      

  5.   

    使用Unicode版本的Windows API和tnt控件,
    FindFirstFileA最后还是调用FindFirstFileW
      

  6.   

    據說d2009全面支持unicode 了。 用2009編譯一下吧