给一个客户做SMS的接口, 网关公司提供的Big5的Url接口,传过去的字符串必须是BIG5编码

刚开始尝试把整个aspx页面存为big5码,但传过去的sms还是乱码.

 

后来写了方法

        private string ChangeEncoding(string unicodeString)
        {
            byte[] bytData = Encoding.UTF8.GetBytes(unicodeString);
            //Big5's codepage is 950
            Encoding cp950 = Encoding.GetEncoding(950);
            byte[] cp950Bytes = Encoding.Convert(Encoding.UTF8, cp950, bytData);
            return cp950.GetString(cp950Bytes);
        } 

然后再用server.urlencode传到网关,结果还是乱码.....

仔细检查一下,原来是 server.urlencode的问题. 它默认还是用utf-8编码的.

 

改用 HttpUtility.UrlEncode(txtSMS.Text, Encoding.GetEncoding(950)) ;

OK 搞定!

 

 

 

相关文章:

  • 2022-12-23
  • 2021-05-23
  • 2021-07-05
  • 2022-03-08
  • 2021-12-05
猜你喜欢
  • 2021-11-30
  • 2021-11-30
  • 2022-12-23
  • 2022-12-23
  • 2021-07-28
  • 2022-01-02
  • 2021-06-13
相关资源
相似解决方案