不同语言显示的数字内容并不总是一样的。如果没有正确的编码,字符就会出现乱码,从而导致混乱、数据损坏,甚至在全球市场上出现网站故障。

无论是构建多语言应用程序还是本地化网站,字符编码都是帮助您提供准确文本和无缝用户体验的流程之一。了解其重要性和不同格式(如 ASCII 和 Unicode 编码)可让您轻松翻译并向多语言受众展示您的信息。

在本指南中,我们将解释什么是字符编码、目前使用的主要标准以及编码对国际化至关重要的原因。

 

什么是字符编码,它如何影响网站本地化的成功?

字符编码涉及将文本转换为数字或符号,以便机器可以在网站、应用程序和操作系统中处理和显示文本。由于计算机以二进制数字(0 和 1)运行,因此字符编码提供了一种方法,可将不同语言的文本转换为机器可轻松解读的数字格式。

下面是一个基本的编码示例:在一种编码标准中,"A "可以用二进制序列 "01000001 "来表示。计算机读取这些二进制数据后,编码标准会将其转换为相应的人类可读字符:"A." 

字符编码在全球公司的本地化过程中起着至关重要的作用,因为它可以让公司准确地显示各种书写系统中的各种字符,包括中文、阿拉伯文和西里尔文。这使得翻译更加准确、快速。 

企业还可以使用Smartling 的全球交付网络 (GDN)(一种翻译网络代理)快速启动网站和应用程序的翻译。设置完成后,内容可从您的网站顺利进入 Smartling 进行翻译。Smartling 甚至还提供了不同语言的特殊字符菜单和格式选项,您可以轻松地将其插入到您的翻译中。

 

字符编码的主要类型有哪些?

每种字符编码格式都支持不同的语言和内容本地化的技术需求。

 

编码类型

主要特色

支持的语言

使用案例

ASCII

7 位,代表 128 个字符,包括英文字母、数字和基本符号

英语

早期计算、简单文本文件、遗留系统

ISO-8859-1

8 位,代表各种西欧/东欧字符

西欧语言,如德语、法语和西班牙语

遗留网络内容、国际文件

UTF-8

长度可变(1-4 字节),向后兼容 ASCII,可处理所有 Unicode 字符,无需 BOM

几乎所有语言

网络内容、现代应用程序、跨平台数据交换

UTF-16

一个或两个 16 位编码单元

几乎所有语言,以及表情符号等特殊字符

网络和国际内容、带有特殊字符的现代文本文件 

Windows-1252 

8 位,包括西欧字符;ASCII 的超集

波兰语和捷克语等东欧语言

基于 Windows 的传统应用程序

 

下面将详细介绍最常见的字符编码类型,包括它们的工作原理以及如何在本地化应用程序和网站中使用的示例。

 

ASCII

美国信息交换标准码(ASCII)是最早和最简单的字符编码系统之一。ASCII 使用 7 个比特对 128 个字符进行编码,包括基本的英文字母、数字和标点符号。 

使用 ASCII 码时,每个字符都映射为一个唯一的数字代码。例如,大写字母 "A "表示为 65,感叹号"!"表示为 33。在二进制中,"A "变成了 "01000001"。ASCII 是现代编码方案的基础,但仅限于英语,不支持重音或非拉丁字符。

 

ISO-8859-1

ISO-8859-1 是一种 8 位单字节字符编码格式,由国际标准化组织 (ISO) 开发,目的是将 ASCII 的功能扩展到西欧语言。 

ISO-8859-1 编码 256 个字符,包括带有重音的附加字母,如 "é "和 "ö",以及大量特殊标点符号和符号字符。例如,字符 "é "用代码 233 表示,"ñ "用代码 241 表示。不过,ISO-8859-1 无法对西欧字符集以外的字符进行编码,从而限制了其在国际应用中的使用。

 

UTF-8

统一码转换格式--8 位(UTF-8)是一种可变长度字符编码格式,旨在实现高效的全球语言兼容性。使用 UTF-8,所有 ASCII 字符都使用一个字节编码,并保持相同的二进制值。非 ASCII 字符(如"€")使用多字节序列,如二进制中的"€"使用 "11100010 10000010 10101100"。 

UTF-8 可以对 Unicode 标准中的所有字符进行编码,从而实现无缝多语言支持。由于能处理大量语言集,它已成为网络和现代应用程序的主流编码格式。

 

UTF-16

UTF-16 使用一个或两个 16 位编码单元来表示统一码标准中的每个字符。常规脚本中的字符以单个 16 位单位存储,而其他字符(如表情符号和罕见的历史脚本)则以代用对的形式出现,即两个 16 位代码单位的组合。 

例如,UTF-16 中的 "A"(U+0041)是 0x0041,而笑脸表情符号"😊"(U+1F60A)则存储为代理对 0xD83D 0xDE0A。这使得 UTF-16 可以编码超过一百万个不同的字符,尽管在某些文本中它比 UTF-8 占用更多的空间。

 

Windows-1252

Windows-1252 是微软为西欧语言开发的一种 8 位字符编码类型,在 Windows 环境中通常称为 "ANSI "编码。它类似于 ISO-8859-1,但包括额外的字符,如大括号("")和欧元符号(€)。

Windows-1252 在传统的 Windows 文档和应用程序中被广泛使用,但大部分已被 UTF-8 所取代,特别是在国际兼容性方面。

 

解决多语言世界中的字符编码难题:5 项挑战和最佳实践

字符编码具有技术性和细微差别,给试图接触多语种受众的企业带来了一定的挑战。在大规模本地化内容时,请注意这些常见的编码问题以及解决这些问题的最佳实践:

 

1.乱码文本

当软件使用错误的字符编码解释文本时,可能会产生乱码、无法读取的字符,如问号或随机符号。这种情况通常发生在以一种格式(如 UTF-8)编码的文本使用另一种编码(如 ISO-8859-1)打开或渲染时,从而导致不匹配的字节解释。杂乱无章的文字会给用户造成困惑,也会降低网站的可信度。

最佳做法:在所有内容中使用一致的编码。为此,您可以使用<meta charset="UTF-8"> 等 HTML 标记,以确保浏览器按预期处理文本。

 

2.转换过程中的数据丢失

在不同编码之间转换内容(如从 Windows-1252 转换为 UTF-8)时,一些字符可能会丢失或被错误替换。这会严重影响多语言和本地化内容的可读性,如果不及早发现,可能会导致数据损坏。 

最佳实践: 使用兼容 Unicode 的翻译工具,简化编码格式之间的转换。此外,在执行编码更改和测试结果的准确性之前,一定要备份数据。

 

3.缺乏多语言字体或字形支持

即使使用正确的字符编码格式,如果用户设备上没有必要的字体或字形,文本也可能显示为空白方块。在使用旧字体集或基本字体集可能不支持的重音字母或表情符号时,这个问题尤其常见。

最佳实践:使用支持多种语言字符的网络安全字体。创建一个后备字符字体堆栈,以便系统在需要时自动插入文本。

 

4.双向文本

阿拉伯语和希伯来语等语言使用从右向左(RTL)书写系统,这可能会导致布局和对齐问题--尤其是与英语等从左到右(LTR)脚本混合使用时。如果不对这些语言进行正确编码,它们可能会扰乱阅读流程或完全破坏格式。

最佳做法:应用正确的语言和特定方向标记,如 HTML 中的 dir="rtl" 和 lang="ar" ,以帮助浏览器准确显示文本。选择支持 RTL 布局的框架,并对内容进行测试,确保所有受众都能正确显示。

 

5.字节序标记问题

字节顺序标记(BOM)是文本文件开头的一种特殊标记,表示字节顺序和编码。物料清单可能导致以下问题

  • 文件开头出现意外的隐形字符(如 "ï "¿")
  • 与某些系统(如旧版网络浏览器)不兼容
  • 应用程序之间的互操作性

最佳做法:处理文本文件时,使用能自动检测并适当处理 BOM 的工具。对于网页内容,请省略 UTF-8 中的 BOM,以避免显示问题。

 

使用 Smartling 本地化工具轻松编码

用户通常看不到字符编码,但这对他们如何跨设备和跨语言体验内容至关重要--从本地化应用程序多语言网站。通过了解编码的基本知识,翻译和开发团队可以避免代价高昂的错误,为全球受众提供更流畅的体验。

Smartling的建立是为了帮助企业在全球范围内发展,同时利用强大的网络代理和强大的 API 简化开发人员的翻译工作。Smartling 与您现有的技术堆栈直接集成,消除了人工任务,简化了翻译流程。事实上,Smartling 可让您添加新语言,并在每次代码推送时触发翻译工作流,因此您可以不失时机地进行国际扩展。

例如,英国航空公司利用 Smartling 的网络翻译代理为韩国客户本地化其网站。借助 Smartling 的集中式平台,英国航空公司能够翻译 500,000 多个单词,并以比平时快一倍的速度发布。阅读案例研究,了解他们是如何做到这一点的。

立即体验更智能的翻译

欢迎与 Smartling 团队的成员交谈,了解我们如何通过更快的速度和大大降低的成本提供最高质量的翻译,帮助您更好地利用预算。
Cta-Card-Side-Image