主题:  关于汉字和英文字母的字符长度问题.

孤月寒星

职务:普通成员
等级:1
金币:1.0
发贴:189
#12002/3/2 10:28:09
我在ACCSS中设字符型的长度为20,显示英文和数字是20个,可是显示汉字也是20个
怎么才能让汉字显示10个呢?

谢谢



文君

职务:普通成员
等级:1
金币:1.0
发贴:140
#22002/3/2 12:00:32
選擇“文本型”然後設為10就行了呀。一個漢字等于兩個英文的字度。如果要限制10個英文,長度就是5。



孤月寒星

职务:普通成员
等级:1
金币:1.0
发贴:189
#32002/3/2 12:21:30
不对啊

我在库里设的是文本型 字段大小是10

可是输入的英文是10个 汉字也是10个

怎么回事 那位还有高见



文君

职务:普通成员
等级:1
金币:1.0
发贴:140
#42002/3/2 13:05:26
你設定的是10,當然可以輸入十個漢字,英文可以輸入二十個。
這個標準是以前FOXBASE數據庫里的,ACCESS應該沒有變吧。



孤月寒星

职务:普通成员
等级:1
金币:1.0
发贴:189
#52002/3/2 14:07:34
你好象没明白

我设的字段大小为10

输入的英文是10个( 是10个不是20个,如果是20个我就不问了 ) 汉字也是10个

能解决吗?



5D荣誉斑竹

职务:普通成员
等级:3
金币:10.0
发贴:1480
#62002/3/2 18:13:21
判断 len 试试!



孤月寒星

职务:普通成员
等级:1
金币:1.0
发贴:189
#72002/3/3 23:47:23
你好

我试验过了

len("谢谢")=2
len("ab")=2

还存在问题,我可能很笨,还请高人指点



孤月寒星

职务:普通成员
等级:1
金币:1.0
发贴:189
#82002/3/4 19:21:06
这个问题不会这么难回答吧



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
#92002/3/5 8:27:31
ACCESS好像就是这样的,它只规定长度而不规定是英还是汉



5D荣誉斑竹

职务:普通成员
等级:3
金币:10.0
发贴:1480
#102002/3/5 9:03:04
我用JS的length也试过了。也不能正确判断。



vernon

职务:普通成员
等级:1
金币:1.0
发贴:172
#112002/3/5 9:35:18
在 JS 里不是一个中文字符等于二个英文字符吗 ? 我还以为是这样子 !
哪谁有好办法呢 ?



5D荣誉斑竹

职务:普通成员
等级:3
金币:10.0
发贴:1480
#122002/3/5 10:00:55
是说一个中文等于二个英文的。
但我取输入框value长度试了。
也是等于一个字符。



kai3000

职务:普通成员
等级:1
金币:0.0
发贴:154
#132002/3/5 10:57:46
用cutstr("---------",数字)
2个文字母等于一个汉字

用left("-------",数字)等自付操作函数,
一个字母等于一个汉字



5D荣誉斑竹

职务:普通成员
等级:3
金币:10.0
发贴:1480
#142002/3/5 11:16:30
想得太简单了
那么如何判断取得的是数字,字母还是文字呢?



kai3000

职务:普通成员
等级:1
金币:0.0
发贴:154
#152002/3/5 14:28:06
看得懂这个函数吗?就是处理这些问题的
function cutStr(str,strlen)
        dim l,t,c
        l=len(str)
        t=0
        for i=1 to l
        c=Abs(Asc(Mid(str,i,1)))
        if c>255 then
        t=t+2
        else
        t=t+1
        end if
        if t>=strlen then
        cutStr=left(str,i)&"..."
        exit for
        else
        cutStr=str
        end if
        next
    end function