character c cedilla(SMALL)显示为CAPITAL

时间:2015-05-27 10:44:14

标签: character-encoding gsm ussd ss7

在手机上显示法语使用的C cedilla字符(U+00E7ç)时,我遇到了一个问题。

当它通过USSGW / SS7作为小c cedilla发送时,它会在手机上显示为大写cedilla(U+00C7Ç)。

有关信息,该字符使用gsm7bit进行编码。

对于这种情况,您有任何解决方案或想法吗?

1 个答案:

答案 0 :(得分:1)

ETSI TS 100 900 V7.2.0(1999-07)数字蜂窝电信系统(第2阶段以上); 字母和特定语言的信息 (GSM 03.38版本7.2.0版本1998)将字节0x09定义为Ç(带有cedilla的大写字母C)。

随后在GSM 03.38 to Unicode mappings中进行了澄清:

  

一般说明:   此表包含Unicode Consortium关于ETSI GSM 03.38 7位默认字母字符如何映射到Unicode的数据。此映射基于ETSI TS 100 900 V7.2.0(1999-07),对 c-cedilla进行了校正0x09,而不是 capital C-cedilla。

并在表格中:

0x08    0x00F2  #   LATIN SMALL LETTER O WITH GRAVE
0x09    0x00E7  #   LATIN SMALL LETTER C WITH CEDILLA
#0x09   0x00C7  #   LATIN CAPITAL LETTER C WITH CEDILLA (see note above)
0x0A    0x000A  #   LINE FEED

所以你有它,这个角色在某个时候被重新映射。您可能正确编码该字符,但旧设备或使用具有旧标准的库的内容是根据原始映射解释字符,从而产生大写字母。

我没有看到Ç的映射,所以它不应再出现了。