UTF8编码问题

ljking0731 2011-06-13 09:56:55
为什么汉字"张三"通过UTF8编码,UTF8Encode('张三'),变成乱码:"寮犱笁"
而不是这样结果:%E5%BC%A0%E4%B8%89

...全文
360 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
无条件为你 2011-06-14
  • 打赏
  • 举报
回复
关注。
ljking0731 2011-06-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 delphiguy 的回复:]
转换没错。
"张三"的UTF-8编码就是E5 BC A0 E4 B8 89 (HEX)
楼主需要 %E5%BC%A0%E4%B8%89 这种形式的串,还得用IntToHex再转换一次。
[/Quote]
恩...


function TForm1.ToUTF8Encode(str: string): string;
var
s: string;
utf8: UTF8String;
data: ^byte;
i: Integer;
begin
utf8:= Utf8Encode(str);
data:= @utf8[1];
for i:= 1 to length(utf8) do
begin
s := s + format('%%%x',[data^]);
inc(data);
end;
Result := s;
end;
dropme 2011-06-13
  • 打赏
  • 举报
回复
%E5%BC%A0%E4%B8%89 ,这是httpencode编码过的结果吧!,引用httpapp单元,用httpencode函数编码~
  • 打赏
  • 举报
回复
转换没错。
"张三"的UTF-8编码就是E5 BC A0 E4 B8 89 (HEX)
楼主需要 %E5%BC%A0%E4%B8%89 这种形式的串,还得用IntToHex再转换一次。
山东蓝鸟贵薪 2011-06-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 delphiguy 的回复:]
显示的问题。
[/Quote]
可能是编码转换的问题吧
  • 打赏
  • 举报
回复
显示的问题。
ltysunde 2011-06-13
  • 打赏
  • 举报
回复
URLENCODE("张三") 是等于 %E5%BC%A0%E4%B8%89

不要搞错了。
chu_czx444 2011-06-13
  • 打赏
  • 举报
回复
mark up

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧