在应用中发现带中文的URL编码有两种方式。一种是直接用HTTPENCODE,如newstr:=HttpEncode(OLDSTR);
另一种是用HTTPENCODE加上UTF8ENCODE,如newstr:=HttpEncode(UTF8Encode(OLDSTR));现在的问题是,我们如何得知该什么时候用哪一种编码方式?

解决方案 »

  1.   

    在网页中都会指定charset=gb2312,你取到charset的值 ,就可以解决了。
    思路是这样,具体只有你自己想办法了,祝好。<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
      

  2.   

    这里问的是URL的编码情况,当准备访问一个URL时,事先并没有已经访问到网页(因为没通过正确编码,连URl是否准确都无法判断),并获得关于CHARSET的信息,至少不会从网页源码中获取。
    所以楼上的回答不适合本问题,谢谢。
      

  3.   

    如果WEB服务器是Windows操作系统,两种编码都能识别,windows操作系统会自动转换中文和UTF-8编码。而linux等操作系统就要根据具体文件名称来编码了,如果是以gb2312保存的文件名,就用HttpEncode,如果是以utf-8保存的文件名,就用UTF8Encode