|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());
}