yvetchan 发表于 2010-1-18 10:41:13

[请教]CMUD中汉字字符只能半个半个删除?

命令行中的汉字只能半个半个删除,tri中的script text里面,汉字也是乱码,比如:
#if @dbradd=岳王墓 {#al st {#sl path_ywm}},岳王墓三个字是乱码,大部分情况下可以正常执行,有时会辨认不了,需要重启CMUD才正常……

请教下,我搜到的文章都说CMUD对中文的支持比ZMUD要好的,那是不是在哪里需要设置一下才能避免上述情况?谢谢!

seagate 发表于 2010-1-18 13:40:49

你为啥要这么写死啊?cmud对中文支持没问题。不过你最好不要这么写死,变量传递就行,变量传递中一定要小心使用全局变量,cmud是多线程环境,对全局变量使用不当会有很多很多意想不到的问题,有时候大多数使用没问题,但是极低概率出现意外,考虑问题是不是出在全局变量的多线程竞争上,如果不是有可能内核模块的汉字处理有内存冲突。这个地方不是半角/全角问题,似乎cmud对汉字的支持不是完整支持,在内存方面有一些小问题,但是代码良好的情况下应该可以减少错误发生。
我星期六迁移到cmud,第一天直接用zmud721源码,一天起码重启机器超过2次,cmud被毁坏一次,重启cmud次数不计其数,后来和大家交流以后,对重点代码进行了线程保护和模块化处理,星期天没有出现重启机器和cmud毁坏的极端错误,重启cmud次数还是不少,今天继续努力,继续处理多线程竞争问题,减少全局变量数量。

jason 发表于 2010-1-18 16:32:58

cmud应该用erlang做脚本

yvetchan 发表于 2010-1-18 19:06:31

感谢seagate指教,已经在另一篇帖子里找到答案,加引号即可。你说的其他内容不是很懂,我也是刚从zmud迁移过来,呵呵!明天仔细琢磨……

wiz也出现了,就顺便多问一句,铁匠铺自制的兵器如何销毁?在论坛和wiki都找不到答案ttk_13

[ 本帖最后由 yvetchan 于 2010-1-18 07:07 PM 编辑 ]

xxxcc 发表于 2010-2-9 14:54:04

我的记忆中,在CMUD中,处理这些字符串,都加上""(引号)就可以了。
中文不会变成乱码。

dgda 发表于 2010-7-4 01:10:00

刚搜到这个贴子,貌似楼主说的,删除汉字只能半个字半个字删除的问题没有解决啊

还请强人们给指点下,谢谢

seagate 发表于 2010-7-4 13:39:09

这个只能更高版本才能解决,内核在汉字识别上没问题,只是半角全角显示上有问题,这个需要cmud支持才行,据说今年内3×会出一个版本解决这个问题,但是具体时间不得而知。官方说法如此说的

guaf 发表于 2010-7-9 11:38:52

原帖由 yvetchan 于 2010-1-18 07:06 PM 发表 http://pkuxkx.net/forum/images/common/back.gif
感谢seagate指教,已经在另一篇帖子里找到答案,加引号即可。你说的其他内容不是很懂,我也是刚从zmud迁移过来,呵呵!明天仔细琢磨……

答案是什么?

seagate 发表于 2010-7-9 13:17:56

汉字显示上,如果你要显示正常,有两个办法,一种是%format函数,一种是""括起来。当然%concat也差不多,但是比较累,不推荐使用。这两种用处自己想着使用场景吧。
汉字删除上没办法,只能半个半个删,这个是内核不支持,一点办法没有,有时候定位错了,先删后半个汉字导致乱码是常有的事情。

bluse 发表于 2010-7-9 13:51:39

用双引号圈起来比较好
页: [1]
查看完整版本: [请教]CMUD中汉字字符只能半个半个删除?