关于String类型中汉字字符的问题,紧急求助! ( 积分: 100 )

  • 主题发起人 主题发起人 swean_98
  • 开始时间 开始时间
S

swean_98

Unregistered / Unconfirmed
GUEST, unregistred user!
通常,String类型的汉字字符应该识别为两位字符,在什么情况下汉字字符会被当作一个字符来读取?目前在我的程序中出现这样的问题,如何解决?请高手指点?
例如 length('大富翁')=3
copy('大富翁',1,1)='大'
 
把你的字符串定义为AnsiString就可以了
例如:
var
s: AnsiString;
s := '大富翁';
length(s)=6
 
SQLSERVER,ORACLE数据库汉字,英文混和时你不必考虑是一个字节还是两个字节,都按一个处理就行了。
copy('大富翁',1,2)='大' ;//DELPHI
declare @a varchar(10)
set @a='大富翁'
select substring(@a,1,1)='大'
 
var
S: WideString;
begin
S := '大富翁';
Length(S) = 3;
Copy(S, 1, 1) = '大';
end;


length(WideString('大富翁'))=3
copy(WideString('大富翁'),1,1)='大'
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
913
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部