芯方式

T卡名/短文件名显示问题

0
阅读(1875)

[DESCRIPTION]
文件系统中每一个文件都保存了2个名字:长文件名(LFN): 这个是用unicode 来编码的短文件名(SFN): 格式为
8byte(文件名)+3byte(扩展名)格式,显示一般是xxxxxx~1.xxx ,它一般是用本地编码来编码的,也就是说如果我们在
我们电脑上创建此文件的话,中文操作系统一般都是用GB2312编码,所以此SFN编码方式为GB2312。另外,从10A1108版
本开始,T卡名称也采用短文件名。关于电脑编码方式的检查,您可直接在电脑上运行chcp 命令,得到active code
page ,如中文为为866。然后用ultraEditor ->advance ->set code page 可以看到各个编码的active code page。在
我们平台上,09B之前的版本,文件名超过41个字符会用短文件名显示,短文件名显示之前一定要用对应的方式来解码
。所以,必须要让解码方式与编码方式一样的话才可以正常显示。
[SOLUTION]来自半导体社区
如果电脑上编码为GB2312的话,需要打开GB2312编码,并且保证g_chset_text_encoding =MMI_CHSET_GB2312 。
如果是俄罗斯的话,电脑编码是win1251 ,那么也需要打开相应的编码,并且保证g_chset_text_encoding
=MMI_CHSET_CYRILLIC_WIN。
所以在代码中,除了打开相应的编码外还需要打开 CFG_MMI_SET_DEF_ENCODING_TYPE,它保证在语言切换时各种语言对
应的本地编码g_chset_text_encoding 也会跟着变化。
对于SFN显示的问题,保证电脑用的是俄文的操作系统,最好是到当地测试。这样才能保证解码用的是同样的编码方式