后台加了个论坛是utf8的
结果原来页面传递过去后的代码是乱码
怎么解决
19 个解决方案
#1
在webconfig中配置一下就可以 了
#2
web.config里面去配
#3
<globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
#4
首先编码是改不了的了
只能获取数据后转换
只能获取数据后转换
#5
我现在需要的是转换程序
#6
做成2个站点,原来的一个域名,论坛单独一个域名
然后各自使用各自的编码方案,这个不会有冲突的
http://www.***.com
http://bbs.***.com
然后各自使用各自的编码方案,这个不会有冲突的
http://www.***.com
http://bbs.***.com
#7
一鹤 文件播种机
把你们gb2312的文件全部转换成utf-8的
再改web.config
把你们gb2312的文件全部转换成utf-8的
再改web.config
#8
光改web.config是不行的
要把gb2314转成urf8
不能批量转就用文件另存为urf8
#9
各位我不知要转编码
而是原来页面提交一个有中文的数据到新页面
结果显示是乱码
现在我想要的是怎么转换这个数据才能正常显示
我试过这个不行
/// <summary>
/// 从一种编码到另一种编码
/// </summary>
/// <param name="str">源字符串</param>
/// <param name="From">From</param>
/// <param name="To">To</param>
/// <returns></returns>
string ConertStr(string str, string From, string To)
{
byte[] bs = System.Text.Encoding.GetEncoding(From).GetBytes(str);
bs = System.Text.Encoding.Convert(System.Text.Encoding.GetEncoding(From), System.Text.Encoding.GetEncoding(To), bs);
string res = System.Text.Encoding.GetEncoding(To).GetString(bs);
return res;
}
而是原来页面提交一个有中文的数据到新页面
结果显示是乱码
现在我想要的是怎么转换这个数据才能正常显示
我试过这个不行
/// <summary>
/// 从一种编码到另一种编码
/// </summary>
/// <param name="str">源字符串</param>
/// <param name="From">From</param>
/// <param name="To">To</param>
/// <returns></returns>
string ConertStr(string str, string From, string To)
{
byte[] bs = System.Text.Encoding.GetEncoding(From).GetBytes(str);
bs = System.Text.Encoding.Convert(System.Text.Encoding.GetEncoding(From), System.Text.Encoding.GetEncoding(To), bs);
string res = System.Text.Encoding.GetEncoding(To).GetString(bs);
return res;
}
#10
在获得传递过来的数据后,加上.getBytes("utf-8").toString()
如:request.getParameter("").getBytes("utf-8").toString();
如:request.getParameter("").getBytes("utf-8").toString();
#11
我个人觉得中文URL传递,乱码问题无法解决.用中文传值始终都会有问题出现
#12
你怎么获得?等你获得到传过来的值时已经成了乱码,你再怎么转换格式,它已经不是原始数据了.要解决,只能是在传递之前找个中间的格式转换方式,先转换后传.
#13
楼上的,这么说就不对了!
中文乱码问题是普遍存在,但是都是可以解决的!而且有多种解决方法,楼主想要的获得后再转换就是可行的!
在获得传递过来的数据后,加上.getBytes("utf-8").toString()
如:request.getParameter("").getBytes("utf-8").toString();确实是有用!
至于你所谓的,在转换之前已经不是原始数据了!这我也不知道该怎么解释!
一个数据无论怎么传递,也无论用什么编码传递,用什么编码获得,但是,只要他都能保持一种编码值,只要你在适当的时候(在其编码变为乱码之前)转换,仍旧是能够恢复到他的原始状态的!
中文乱码问题是普遍存在,但是都是可以解决的!而且有多种解决方法,楼主想要的获得后再转换就是可行的!
在获得传递过来的数据后,加上.getBytes("utf-8").toString()
如:request.getParameter("").getBytes("utf-8").toString();确实是有用!
至于你所谓的,在转换之前已经不是原始数据了!这我也不知道该怎么解释!
一个数据无论怎么传递,也无论用什么编码传递,用什么编码获得,但是,只要他都能保持一种编码值,只要你在适当的时候(在其编码变为乱码之前)转换,仍旧是能够恢复到他的原始状态的!
#14
getParameter没看到啊
#15
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(sResultContents);
////取得的utf-8编码转换成gb2312编码///关键就这几句了
System.Text.Encoding utf8 = System.Text.Encoding.GetEncoding("utf-8");
System.Text.Encoding gb2312 = System.Text.Encoding.GetEncoding("gb2312");
System.Text.Encoding.Convert(utf8, gb2312, bytes);
System.Text.Encoding.Convert(utf8, gb2312, bytes);
////取得的utf-8编码转换成gb2312编码///关键就这几句了
System.Text.Encoding utf8 = System.Text.Encoding.GetEncoding("utf-8");
System.Text.Encoding gb2312 = System.Text.Encoding.GetEncoding("gb2312");
System.Text.Encoding.Convert(utf8, gb2312, bytes);
System.Text.Encoding.Convert(utf8, gb2312, bytes);
#16
现在的问题是一个gb编码asp页面
post带中文的数据到一个utf8编码的aspx页面
数据显示是乱码
例如
结果显示是乱码
post带中文的数据到一个utf8编码的aspx页面
数据显示是乱码
例如
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题页</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
<form method="post" action="1.aspx">
<input type="text" name="aa" />
<input id="Submit1" type="submit" value="submit" />
</form>
</body>
</html>
public partial class _1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string ss = Request.Form["aa"];
ltl.Text = ss;
}
}
结果显示是乱码
#17
Request.ContentEncoding = Encoding.GetEncoding("gb2312");
#18
ls的加了还是乱码
#19
request.getParameter("").getBytes("utf-8").toString();
没有用,c#和vb都没有这个。。。
没有用,c#和vb都没有这个。。。
#20
#1
在webconfig中配置一下就可以 了
#2
web.config里面去配
#3
<globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
#4
首先编码是改不了的了
只能获取数据后转换
只能获取数据后转换
#5
我现在需要的是转换程序
#6
做成2个站点,原来的一个域名,论坛单独一个域名
然后各自使用各自的编码方案,这个不会有冲突的
http://www.***.com
http://bbs.***.com
然后各自使用各自的编码方案,这个不会有冲突的
http://www.***.com
http://bbs.***.com
#7
一鹤 文件播种机
把你们gb2312的文件全部转换成utf-8的
再改web.config
把你们gb2312的文件全部转换成utf-8的
再改web.config
#8
光改web.config是不行的
要把gb2314转成urf8
不能批量转就用文件另存为urf8
#9
各位我不知要转编码
而是原来页面提交一个有中文的数据到新页面
结果显示是乱码
现在我想要的是怎么转换这个数据才能正常显示
我试过这个不行
/// <summary>
/// 从一种编码到另一种编码
/// </summary>
/// <param name="str">源字符串</param>
/// <param name="From">From</param>
/// <param name="To">To</param>
/// <returns></returns>
string ConertStr(string str, string From, string To)
{
byte[] bs = System.Text.Encoding.GetEncoding(From).GetBytes(str);
bs = System.Text.Encoding.Convert(System.Text.Encoding.GetEncoding(From), System.Text.Encoding.GetEncoding(To), bs);
string res = System.Text.Encoding.GetEncoding(To).GetString(bs);
return res;
}
而是原来页面提交一个有中文的数据到新页面
结果显示是乱码
现在我想要的是怎么转换这个数据才能正常显示
我试过这个不行
/// <summary>
/// 从一种编码到另一种编码
/// </summary>
/// <param name="str">源字符串</param>
/// <param name="From">From</param>
/// <param name="To">To</param>
/// <returns></returns>
string ConertStr(string str, string From, string To)
{
byte[] bs = System.Text.Encoding.GetEncoding(From).GetBytes(str);
bs = System.Text.Encoding.Convert(System.Text.Encoding.GetEncoding(From), System.Text.Encoding.GetEncoding(To), bs);
string res = System.Text.Encoding.GetEncoding(To).GetString(bs);
return res;
}
#10
在获得传递过来的数据后,加上.getBytes("utf-8").toString()
如:request.getParameter("").getBytes("utf-8").toString();
如:request.getParameter("").getBytes("utf-8").toString();
#11
我个人觉得中文URL传递,乱码问题无法解决.用中文传值始终都会有问题出现
#12
你怎么获得?等你获得到传过来的值时已经成了乱码,你再怎么转换格式,它已经不是原始数据了.要解决,只能是在传递之前找个中间的格式转换方式,先转换后传.
#13
楼上的,这么说就不对了!
中文乱码问题是普遍存在,但是都是可以解决的!而且有多种解决方法,楼主想要的获得后再转换就是可行的!
在获得传递过来的数据后,加上.getBytes("utf-8").toString()
如:request.getParameter("").getBytes("utf-8").toString();确实是有用!
至于你所谓的,在转换之前已经不是原始数据了!这我也不知道该怎么解释!
一个数据无论怎么传递,也无论用什么编码传递,用什么编码获得,但是,只要他都能保持一种编码值,只要你在适当的时候(在其编码变为乱码之前)转换,仍旧是能够恢复到他的原始状态的!
中文乱码问题是普遍存在,但是都是可以解决的!而且有多种解决方法,楼主想要的获得后再转换就是可行的!
在获得传递过来的数据后,加上.getBytes("utf-8").toString()
如:request.getParameter("").getBytes("utf-8").toString();确实是有用!
至于你所谓的,在转换之前已经不是原始数据了!这我也不知道该怎么解释!
一个数据无论怎么传递,也无论用什么编码传递,用什么编码获得,但是,只要他都能保持一种编码值,只要你在适当的时候(在其编码变为乱码之前)转换,仍旧是能够恢复到他的原始状态的!
#14
getParameter没看到啊
#15
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(sResultContents);
////取得的utf-8编码转换成gb2312编码///关键就这几句了
System.Text.Encoding utf8 = System.Text.Encoding.GetEncoding("utf-8");
System.Text.Encoding gb2312 = System.Text.Encoding.GetEncoding("gb2312");
System.Text.Encoding.Convert(utf8, gb2312, bytes);
System.Text.Encoding.Convert(utf8, gb2312, bytes);
////取得的utf-8编码转换成gb2312编码///关键就这几句了
System.Text.Encoding utf8 = System.Text.Encoding.GetEncoding("utf-8");
System.Text.Encoding gb2312 = System.Text.Encoding.GetEncoding("gb2312");
System.Text.Encoding.Convert(utf8, gb2312, bytes);
System.Text.Encoding.Convert(utf8, gb2312, bytes);
#16
现在的问题是一个gb编码asp页面
post带中文的数据到一个utf8编码的aspx页面
数据显示是乱码
例如
结果显示是乱码
post带中文的数据到一个utf8编码的aspx页面
数据显示是乱码
例如
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题页</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
<form method="post" action="1.aspx">
<input type="text" name="aa" />
<input id="Submit1" type="submit" value="submit" />
</form>
</body>
</html>
public partial class _1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string ss = Request.Form["aa"];
ltl.Text = ss;
}
}
结果显示是乱码
#17
Request.ContentEncoding = Encoding.GetEncoding("gb2312");
#18
ls的加了还是乱码
#19
request.getParameter("").getBytes("utf-8").toString();
没有用,c#和vb都没有这个。。。
没有用,c#和vb都没有这个。。。