delphi7中indy10的idhttp POST时中文乱码怎么办?

解决方案 »

  1.   

    Data='好'
    转换成
    Data=#BA#C3
    然后再Post
      

  2.   

    使用以下代码转换中文。  function   HTMLEncode(const   AStr:   String):   String;
      const
          NoConversion   =   ['A'..'Z','a'..'z','*','.','_','-','0'..'9','!','''','(',')'];  //不需要进行转换的字符。 
      var   
          Sp,   Rp:   PChar;   
      begin   
          SetLength(Result,   Length(AStr)   *   3);   
          Sp   :=   PChar(AStr);   
          Rp   :=   PChar(Result);   
          while   Sp^   <>   #0   do   
          begin   
              if   Sp^   in   NoConversion   then   
                  Rp^   :=   Sp^   
              else   
                  if   Sp^   =   '   '   then   
                      Rp^   :=   '+'   
                  else   
                  begin   
                      FormatBuf(Rp^,   3,   '%%%.2x',   6,   [Ord(Sp^)]);   
                      Inc(Rp,2);   
                  end;   
              Inc(Rp);   
              Inc(Sp);   
          end;   
          SetLength(Result,   Rp   -   PChar(Result));   
      end;
      

  3.   

    先抓包,看POST网站需要什么编码.
    然后再POST前转换一下!
      

  4.   

    POST乱码一般都是编码格式不对
      

  5.   

    顶一个,先看返回的是什么编码,自己再把中文转为那编码POST