执行代码集转换

在客户机/服务器环境中,如果客户机或服务器计算机使用不同的代码集来表示相同的字符,那么需要将字符数据从一种代码集转换为另一种代码集。字符数据从一种代码集(源代码集)至另一种代码集(目标代码集)的转换称为代码集转换

如果不进行代码集转换,那么(在这两台计算机使用不同的代码集时)一台计算机无法正确地处理或显示源自另一台计算机的字符数据。

GBase 8s 产品使用 GLS 语言环境执行代码集转换。GBase 8s 客户机应用程序和数据库服务器都可能执行代码集转换。有关详细信息,请参阅数据库服务器代码集转换客户机应用程序代码集转换

指定作为 GLS 语言环境的一部分的代码集。在运行时,GBase 8s 产品遵循以下规则来确定要使用哪些代码集:
代码集转换未提供以下任一功能:

对于源代码集中的每个字符,在目标代码集中应存在相应的字符。但是,如果源代码集包含目标代码集中没有的字符,那么转换必须定义如何将这些不匹配的字符映射至目标代码集。(源代码集和目标代码集中的字符之间缺少映射通常称为有损错误。)如果源代码集中的所有字符在目标代码集中都存在,那么不应用不匹配处理。

代码集转换使用以下四种方法之一来处理不匹配字符:
来回转换
此方法将每个不匹配字符映射至目标代码集中的唯一字符,以便返回映射将原始字符映射回其本身。此方法保证双向转换不会导致信息丢失;但是,单向转换的数据可能无法在目标计算机上正确处理或打印。
替代转换
此方法将所有不匹配字符映射至目标代码集中的一个字符,该字符突出显示不匹配的字符。此方法保证单向转换清楚地显示不匹配的字符;但是,如果存在不匹配字符,那么双向转换可能会导致信息丢失。
图形替换转换
此方法将每个不匹配字符映射至目标代码集中的一个字符,该字符看起来与源字符类似。

此方法包括将单字符连字映射至双字符等价物(反之亦然),从而使不匹配数据在目标计算机上的打印更为精确,但很可能会使此数据在目标计算机上的处理混乱。

上述两种或三种转换方法的混合
提示: 每个代码集转换源文件 (.cv) 指示相关联的转换如何处理不匹配字符。有关代码集转换文件的信息,请参阅管理 GLS 文件