51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2862|回复: 4
打印 上一主题 下一主题

I18N的常见问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-8-14 15:23:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
软件的I18N Dev是如何实现的?
哪些又是I18N的问题,我们如何去定位这是I18N的问题还是Core问题或是L10N问题。
乱码问题的出现是怎么引起的?不同的应用在乱码上有哪些特点
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
回复

使用道具 举报

该用户从未签到

2#
发表于 2013-8-14 16:56:27 | 只看该作者
软件的I18N Dev是如何实现的?
哪些又是I18N的问题,我们如何去定位这是I18N的问题还是Core问题或是L10N问 ...
姜彦甫 发表于 2013-8-14 15:23



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

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

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

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

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

  16.       // Display dt, formatted using the ShortDatePattern
  17.       //    and the CultureInfo object.
  18.       Console.WriteLine(dt.ToString("d", ci));
  19.    }
  20. }
复制代码
这是C#中如何convert DateTime object
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2013-8-14 21:06:37 | 只看该作者
在如何去定位是I18N的问题还是Core问题或是L10N的问题上,我这么认为

I18N focus on code
L10N focus on language

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

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 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_US  de_DE zh_CN这些东东。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2013-8-15 11:11:38 | 只看该作者
对于国际化这一块,所有语言对输入输出都应该用UTF-8或UTF-16这两种编码方式,或者两者结合使用.
实际的开 ...
姜彦甫 发表于 2013-8-15 10:26


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

毕竟不是每个产品都考虑到了G11N这块
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 12:58 , Processed in 0.070909 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表