字符集是big5的网站向.net网站提交数据c#问题

zzw226 2015-06-11 03:21:31
本人在做个项目,由于历史原因,发送方网站的字符集是big5,现在向一.net(unicode)做的网站提交繁体中文数据,.net网站如何能够正常显示其提交过来的繁体字
...全文
167 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
tcmakebest 2015-06-12
  • 打赏
  • 举报
回复
字符集和编码是两回事,只要编码能够容纳字符集就不会乱码,asp.net默认都是utf-8编码的,能够支持多国语言的。
xuzuning 2015-06-11
  • 打赏
  • 举报
回复
先明确一个问题: Unicode 是微软主导的字符集,其 ucs-2(旧称 code page 936,新称utf-16be)与国标 GBK 字典对应。与 utf-8 的单、三字节部分移位兼容 Big5 是台湾地区官方字符集,现属 GBK 子集,与 GBk 字典兼容。旧称 codepage 950,仍属 uca-2 的子集 Unicode 涵盖了全球所有的字符集方案(不然 Windows 就卖不出去了),自然也就提供有字符集转换的功能 你 #11 已经明确的声明了使用 Big5 字符集,当然也就是按 Big5 提交的了 你只需要检查一下 C# 是否自动将其转换成了 unicode 就行了(没有实际测试不好说),如果没有就自己转换一下
zzw226 2015-06-11
  • 打赏
  • 举报
回复
试过不加判断直接用utf-8或big5,同样显示不出繁体字,接受的网站编码是utf-8的,如下图
  • 打赏
  • 举报
回复
那你不要判断直接试试utf-8呢,不知道你那个到底默认是什么编码啊
zzw226 2015-06-11
  • 打赏
  • 举报
回复
不好意思,提交页没截到最新的,现在补下提交页的代码
zzw226 2015-06-11
  • 打赏
  • 举报
回复
[quote=引用 9 楼 starfd 的回复:]
这是代码结果截的图
  • 打赏
  • 举报
回复
<a href="test.aspx?from=big5&name=<%=server.urlencode("繁体字")%>">测试</a>
Encoding encoding;
            if (Request.QueryString["from"] == "big5")
            {
                encoding = Encoding.GetEncoding("big5");
            }
            else
            {
                encoding = Encoding.UTF8;
            }
            string a = HttpUtility.UrlDecode(Request.QueryString["name"],encoding) ;
zzw226 2015-06-11
  • 打赏
  • 举报
回复
引用 6 楼 shingoscar 的回复:
接收的地方可以试试 Encoding.GetEncoding(950).GetString(byte[])
传入的byte[]那里方便详细点吗,3q
zzw226 2015-06-11
  • 打赏
  • 举报
回复
还有点补充的是big5用到com,返回的数据时big5的,所以asp页面上是指定成big5...
Poopaye 2015-06-11
  • 打赏
  • 举报
回复
接收的地方可以试试 Encoding.GetEncoding(950).GetString(byte[])
zzw226 2015-06-11
  • 打赏
  • 举报
回复
可惜的是big5的网站是用asp做的...不能用你上面的代码,不过还是很多谢你,我查查asp怎么按utf-8提交
  • 打赏
  • 举报
回复
接收端
HttpUtility.UrlDecode("", Encoding.UTF8);
big5站点
<a href="test.aspx?name=<%=HttpUtility.UrlEncode("繁体字", Encoding.UTF8)%>">测试</a>
都指定Utf-8编码
zhishiheng 2015-06-11
  • 打赏
  • 举报
回复
台湾Big5码 还有人用
zzw226 2015-06-11
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
unicode是什么意思?utf8? utf-8本来就能够显示繁体啊,只是你接收的时候要用big5接收而已 所以你的问题应该归纳为 charset为big5的网站向uft-8网站提交数据,如何保证正确接收与显示 好吧,问题来了,你是怎么提交的?
好普通的热连接<a href="test.aspx?name=<%=server.urlencode("繁体字")%>">测试</a> 这样
  • 打赏
  • 举报
回复
unicode是什么意思?utf8? utf-8本来就能够显示繁体啊,只是你接收的时候要用big5接收而已 所以你的问题应该归纳为 charset为big5的网站向uft-8网站提交数据,如何保证正确接收与显示 好吧,问题来了,你是怎么提交的?

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧