我公司有中文,日文XP系统,我在中文XP开发的小程序,在日文系统下变成乱码了,如何避免这样的问题
并且,如果日文系统下对数据库操作,保存在SQL Server中,会出问题吗,使用者都使用中文输入法?

解决方案 »

  1.   

    失踪的月亮前辈,能说得详细点吗?日文系统也有中文输入法是在delphi中设置吗
      

  2.   

    你看看这里链接吧,我也没有做过这样的软件
    http://www.pc163.info/software/p764/A76494003.shtml
      

  3.   

    UINCODE支持~这是最好的解决方案,但目前Delphi不支持,而需要借助第三方的TNT
    等08年的Unicode VCL才好的
      

  4.   

    也就是说这个问题没法解决吗?其实就是几个窗体,按钮的caption属性在日文系统下显示的问题,能行吗
      

  5.   

    用tnt控件包,或者用图片,关键是系统不能正确解析那个字符集才会乱码
      

  6.   

    tnt控件包,最新版是什么啊E文是没问题,但公司人用就不合适了能开发日文版的软件吗?
      

  7.   

    我看数据库异常信息被捕获后,在日文客户端也显示为乱码数据库是SQL Server中文这问题如何解决?
      

  8.   

    可以作成读INI文件的,根据系统的不同读不同的INI.
    但录入日文不行.它在中文下显示会出乱码的.
    我以前写过这样的代码,但不知道在这怎么发给你.
      

  9.   

    汗一个。楼主。你的意思是,在中文系统下开发的小程序,拿到日文系统下操作数据,然后返回到中文系统。这些操作过程中那个,要始终保持不出乱码对吧。这样不如直接在日文系统下开发你要的小程序好了。地域语言都不用改了。直接写入中文,返回到中文系统后还是中文,没有乱码。另外有个办法就是去下载微软的 applo内码转换工具。 在日文系统下用这个工具打开你的小程序,选择中文简体,进行你要的操作。然后返回中文系统,不会有乱码。
      

  10.   

    把项目、文档的编码全部设成UTF-8、
    这样你的系统不管在中或是日文OS下,
    只要地域设定中有加入相应字库,就不会显示乱码。
    注意代码文件也必须用UTF-8来保存。
    这主要用于让中文项目在日文系统中显示的中文菜单和提示等。
    如:MS-IME、极点五笔等。楼主所说的情况好象有点不一样,
    你应该是在中文OS下开发日文项目,
    也就是菜单、提示都是显示日文,
    但是你们在中文OS下输入的日文,
    在日文OS下都显示成乱码,对吧?
    这种情况需要解决两个问题、
    1、文档的编码必须是UTF-8
    2、你们在输入日文时必须用日文IME,中文XP系统里自带。
       如果你们用中文IME输入日文的话,所有片假名、平假名用的都是中文字库的字符,
       这样就算你用UTF-8编码,在日文下也只能显示,一复制&粘贴就会变成乱码。日文系统下对数据库操作,保存在SQL   Server中,不会出问题,
    但是原理同上,输入中文用中文输入法,输入日文用日文输入法,不然就会出问题。
      

  11.   

    打倒日本鬼子,坚决反对开发日文软件!
    用UNICODE吧,Delphi用三方控件可以做到用UNICODE
      

  12.   

    好啊,一块打倒吧我不开发日语软件,就是在日文系统下能显示,能更新数据就可delphi2008能支持unicode吧
      

  13.   

      Self.Font.Name := 'Tahoma';
      self.Font.Charset := SHIFTJIS_CHARSET;  //日文
    ------
    需要修改字符集,试试看
      

  14.   

    那么日文系统能正确录入汉字保存到中文SQL Server吗?
      

  15.   

    TNT控件也不好用啊提示信息也不好用,showmessage,messagebox都是乱码
      

  16.   

    TNT控件也不好用啊 提示信息也不好用,showmessage,messagebox都是乱码-------------
    要用 MessageBoxW 
    用 TNT 控件,也要注意一點。因為 Delphi7 的 IDE 不支持 Unicode ,如果你的文字是寫到 IDE 裡的硬編碼,如下:
    var
      str: WideString;  str := '中國,你好';這樣的話,你在程序中用 TNT 在日文下顯示,也可能是亂碼。因為 IDE 把漢字用 Ansi 來保存,顯示轉成 Unicode 會有字丟失。解決方法有兩個,一是用 Delphi 2007 來寫程序。在單元文件點右鍵,把文本編碼換成 Unicode 或 UTF-8 .還有一個方法就是把要顯示的文字,保存到一個文件文件或 XML.要用 Unicode 編碼的。顯示時才讀出來。文件文件要用 Tnt 來讀。 XML 要注意相應的編碼.Good luck