|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
f00l (小生(骗术师)) |
★☆☆☆☆ |
-
|
普通会员 |
|
2008/10/1 11:43:42 |
标题: |
|
加入我的收藏 |
楼主: |
我要把‘中国’变成UTF8的‘涓浗’复制到剪贴板 Clipboard.SetTextBuf(Pchar(str)); 可是无论怎么转换‘中国’粘贴出来的永远还是‘中国’。。。 请问在Delphi2009中到底要怎么做呀T.T
----------------------------------------------
- |
作者: |
|
2008/10/1 13:06:52 |
1楼: |
AnsiToUtf8();
----------------------------------------------
winsock api,通讯,多线程,VCL,Java
|
作者: |
f00l (小生(骗术师)) |
★☆☆☆☆ |
-
|
普通会员 |
|
2008/10/1 13:54:37 |
2楼: |
Delphi2009里貌似不行呀。。。
----------------------------------------------
-
|
作者: |
f00l (小生(骗术师)) |
★☆☆☆☆ |
-
|
普通会员 |
|
2008/10/1 14:07:43 |
3楼: |
我的意思是说在D2007里 procedure TForm11.Button1Click(Sender: TObject); var str1:ansistring; str2:utf8string; begin str1:=edit1.text; str2:=ansitoutf8(str1); edit2.Text:=str2; end; edit1.text:='中国',edit2的文本就会变成'涓浗' 而相同功能在D2009中如何实现?
----------------------------------------------
-
|
作者: |
|
2008/10/1 18:20:11 |
4楼: |
一直在用DELPHI7,我下载了一个d2009没帮助,不知道高版本咋用,另外有可能是你显示在text文本的时候,系统又强制转换成了本地语言
----------------------------------------------
winsock api,通讯,多线程,VCL,Java
|
作者: |
zlxym (zlxym) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2008/10/1 21:14:07 |
5楼: |
function UnicodeToUTF8String(ASource: string): AnsiString; inline; begin SetLength(Result, 256); ZeroMemory(PAnsiChar(Result), 256); UnicodeToUtf8(PAnsiChar(Result), PChar(ASource), 256); end;
使用: Edit1.Text := UnicodeToUTF8String('中国');
----------------------------------------------
-
|
作者: |
zlxym (zlxym) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2008/10/1 21:14:55 |
6楼: |
偷了个懒,要实际使用,要好好计算一下缓冲区的大小。
----------------------------------------------
-
|
作者: |
f00l (小生(骗术师)) |
★☆☆☆☆ |
-
|
普通会员 |
|
2008/10/1 22:25:31 |
7楼: |
万分感谢zlxym的回复^0^
----------------------------------------------
-
|
作者: |
f00l (小生(骗术师)) |
★☆☆☆☆ |
-
|
普通会员 |
|
2008/10/1 22:54:03 |
8楼: |
受PAnsiChar启发。。。(我根本不知道还有这东东。。。) 又凑出一个方法。。。 Edit2.Text:=PAnsiChar(UTF8String(edit1.Text));
我是菜鸟哈。。。不懂啥语法。。。不要见怪0.0
----------------------------------------------
-
|
作者: |
f00l (小生(骗术师)) |
★☆☆☆☆ |
-
|
普通会员 |
|
2008/10/2 6:34:35 |
9楼: |
发现我的方法不行。。。 比如3个中文的时候字符串末尾就有4个/0了。。。
----------------------------------------------
-
|
|