LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1056|回复: 0

TCL处理中文求助!!!

[复制链接]
发表于 2007-8-27 00:04:15 | 显示全部楼层 |阅读模式
我在C++中嵌入TCL解释器执行TCL脚本
结果发现传入的参数经脚本处理后中文会编程乱码(脚本中调用了string range命令和regsub命令)
想是因为编码的问题,但在tclsh里处理中文都没有问题,C++中就有问题了,结果发现在tclsh中有很多的编码类型可供选择,如gb2312, 但嵌入到C++后就只有UTF-8 IDENTITY UNICODE这三种,如果将编码设置成gb2312,那么就不会出现中文乱码的问题了.但没有这个编码怎么整啊?
我试了下用utf编码,但用tcl_ExternalToUtf时又出现了个问题,这里需要个tcl_encoding类型的变量,通过tcl_getencoding来创建,但这里传入象GB2312之类的是不行的,因为可选的只有
UTF-8 IDENTITY UNICODE这三种..........在脚本处理完数据后我将数据存储到一个叫ret的全局变量里了,用tcl_getval回收这个值,这里回收的值应该也是utf编码的吧? 那这里的值应该是wchar_t类型的还是char类型的呢? utf不是双字的么...困惑啊

望达人能赐予一处理中文的sample
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表