在客户机/服务器环境中,如果客户机或服务器计算机使用不同的代码集来表示相同的字符,那么需要将字符数据从一种代码集转换为另一种代码集。字符数据从一种代码集(源代码集)至另一种代码集(目标代码集)的转换称为代码集转换。
如果不进行代码集转换,那么(在这两台计算机使用不同的代码集时)一台计算机无法正确地处理或显示源自另一台计算机的字符数据。
GBase 8s 产品使用 GLS 语言环境执行代码集转换。GBase 8s 客户机应用程序和数据库服务器都可能执行代码集转换。有关详细信息,请参阅数据库服务器代码集转换和客户机应用程序代码集转换。
它不在不同语言的词之间进行转换。例如:代码集转换不会从英语词 yes 转换为法语词 oui。它仅确保每个字符在处理或写入时保留其含义,而不管其编码方式如何。
例如:如果将字符 â 传递至其代码集不包含该字符的目标计算机,那么目标计算机无法正确处理或打印该字符。
对于源代码集中的每个字符,在目标代码集中应存在相应的字符。但是,如果源代码集包含目标代码集中没有的字符,那么转换必须定义如何将这些不匹配的字符映射至目标代码集。(源代码集和目标代码集中的字符之间缺少映射通常称为有损错误。)如果源代码集中的所有字符在目标代码集中都存在,那么不应用不匹配处理。
此方法包括将单字符连字映射至双字符等价物(反之亦然),从而使不匹配数据在目标计算机上的打印更为精确,但很可能会使此数据在目标计算机上的处理混乱。