姜彦甫 发表于 2013-8-14 15:23:03

I18N的常见问题

软件的I18N Dev是如何实现的?
哪些又是I18N的问题,我们如何去定位这是I18N的问题还是Core问题或是L10N问题。
乱码问题的出现是怎么引起的?不同的应用在乱码上有哪些特点

silver_q 发表于 2013-8-14 16:56:27

软件的I18N Dev是如何实现的?
哪些又是I18N的问题,我们如何去定位这是I18N的问题还是Core问题或是L10N问 ...
姜彦甫 发表于 2013-8-14 15:23 http://bbs.51testing.com/images/common/back.gif


这个问题有点儿太大了……每种语言都有自己不同的G11N编码方式

举个很小的例子using System;
using System.Globalization;
using System.Threading;

public class FormatDate
{
   public static void Main()
   {
       DateTime dt = DateTime.Now;
      // Set the CurrentCulture property to U.S. English.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");

      // Display dt, formatted using the ShortDatePattern.
      //    and the CurrentThread.CurrentCulture.
      Console.WriteLine(dt.ToString("d"));

      // Create a CultureInfo object for German in Germany.
      CultureInfo ci = new CultureInfo("de-DE");

      // Display dt, formatted using the ShortDatePattern
      //    and the CultureInfo object.
      Console.WriteLine(dt.ToString("d", ci));
   }
}
这是C#中如何convert DateTime object

silver_q 发表于 2013-8-14 21:06:37

在如何去定位是I18N的问题还是Core问题或是L10N的问题上,我这么认为

I18N focus on code
L10N focus on language

如果在locale = en_US同时输入数据也不包含foreign code的情况下,依然有错,那自然是core bug了

姜彦甫 发表于 2013-8-15 10:26:24

对于国际化这一块,所有语言对输入输出都应该用UTF-8或UTF-16这两种编码方式,或者两者结合使用.
实际的开发过程中,往往与第三方的软件结合。在编码上有许多的顾虑,也容易出错。
比如vCops产品用到了Tomcat 和 数据库Oracle
Tomcat是西方开发的,,默认的编码方式是ISO-8859-1。我们的应用部署到Tomcat上以后,即使是用UTF-8去编码,但是Tomcat对接受的数据以ISO-8859的方式进行解码处理。这是后还要进行二次编码,把Tomcat处理的字节数据再编码成UTF-8,然后再解码
而Oracle需要注意配置的时候要用Unicode的字符集+UTF-8编码方式,即使数据库表中字段声明为nvar可接受国际化字符,也会出现乱码
日期格式这一块在编码上或许不尽相同,但是遵守的规则都是一样的,en_USde_DE zh_CN这些东东。

silver_q 发表于 2013-8-15 11:11:38

对于国际化这一块,所有语言对输入输出都应该用UTF-8或UTF-16这两种编码方式,或者两者结合使用.
实际的开 ...
姜彦甫 发表于 2013-8-15 10:26 http://bbs.51testing.com/images/common/back.gif

要集成其他软件的话,那就只能这样了

毕竟不是每个产品都考虑到了G11N这块
页: [1]
查看完整版本: I18N的常见问题