1 
   function
    DecodeUtf8Str(
   const
    S: UTF8String): WideString;
   2 
   
   var
    lenSrc, lenDst  : Integer;
   3 
   
   begin
   
   4 
     lenSrc  :
   =
    Length(S);
   5 
     
   if
   (lenSrc
   =
   0
   )
   then
    Exit;
   6 
     lenDst  :
   =
    MultiByteToWideChar(CP_UTF8, 
   0
   , Pointer(S), lenSrc, 
   nil
   , 
   0
   );
   7 
     SetLength(Result, lenDst);
   8 
     MultiByteToWideChar(CP_UTF8, 
   0
   , Pointer(S), lenSrc, Pointer(Result), lenDst);
   9 
   
   end
   ;
  
  
  
 
  
 
 因为Delphi自带的转换函数遇到其无法识别的字符串就返回空,以上函数可解决该问题。
 
 
 
转载于:https://www.cnblogs.com/lojon/archive/2010/05/03/1726470.html