你使用的编码?
另,你如何处理全角的符号等,是否作为中文?你可以用ord函数逐个判断
gb2312编码中全角符号从A1A0开始,汉字从B0A0开始
gbk码看这个地方
http://www.haiyan.com/steelk/navigator/ref/gbk/gbindex2.htm
utf-8看这里
http://www.linuxforum.net/books/UTF-8-Unicode.html