日期:2014-05-18  浏览次数:20417 次

|zyciis| 为什么我的一段HTML的Form放在别人的网站POST过来的数据全是乱码
http://vip.tianker.com.cn/inner.htm
这是我网站要内嵌到别人网站的一段HTML
然后在我本网站测试没有问题,然后我嵌到别人的网站如
http://www.zhekou4u.com/?action-category-catid-2
这个页面,但POST过来的全是乱码

要怎么改

谢谢

------解决方案--------------------
检查编码方式
requestEncoding responseEncoding
不同语言集之间的转换,例如GB2312转UTF-8,用System.Text.Encoding来转换
------解决方案--------------------
两个网站的编码不一样
看 <head>标记里的节点
1个是
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
1个是
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />

------解决方案--------------------
在你自己的Html的Header里加上Charset。
------解决方案--------------------
探讨

RE:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
1个是
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
---------------
那要怎么办呢?因为我不可能叫别人的改为uft-8,我的也不可能改为g……

------解决方案--------------------
private string ecodingJava_C(String str)
{
Encoding utf8 = Encoding.UTF8;
Encoding defaultCode = Encoding.Default;
byte[] utf8Bytes = defaultCode.GetBytes(str);
byte[] defaultBytes = Encoding.Convert(utf8, defaultCode, utf8Bytes);
char[] defaultChars = new char[defaultCode.GetCharCount(defaultBytes, 0, defaultBytes.Length)];
defaultCode.GetChars(defaultBytes, 0, defaultBytes.Length, defaultChars, 0);
return new string(defaultChars);
}
------解决方案--------------------
判断post过来的编码类型再进行你的编码设置
------解决方案--------------------
C# code

//试试
            byte[] b = Encoding.UTF8.GetBytes(youStr);
            MemoryStream ms = new MemoryStream(b);
            using (StreamReader reader = new StreamReader(ms))
            {
                Response.Write(reader.ReadToEnd());
            }