UNICODE转码问题

lgc653 2004-09-29 07:33:22
小弟使用PostgreSQL,数据库内码使用的是UNICODE,通过数据引擎读出来得也是UNICODE内码,
比如
“提案”读出来的是“鎻愭”
这时候如果显示出来,不论页面选择任何编码,都是显示的“鎻愭”,请问如何转码可以显示我想要的“提案”
我直接察看生成的网页源代码,是如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form name="Form1" method="post" action="WebForm1.aspx" id="Form1">
鎻愭
</form>
</body>
</HTML>
如果把该代码另存为html文件,然后察看的时候显示的是正确的,为何动态生成的页面
即使在utf-8编码情况下也无法显示正确呢?
...全文
299 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
love830315 2004-10-02
  • 打赏
  • 举报
回复
给你个类似问题的解决方法:
http://community.csdn.net/Expert/topic/3372/3372198.xml?temp=.2941553
lgc653 2004-10-02
  • 打赏
  • 举报
回复
顶一下,大家帮忙,谢谢
lgc653 2004-10-02
  • 打赏
  • 举报
回复
谢谢,ncowboy(35号房客) 的方法不错,插入数据,查询数据都没有问题。
不过好像UNICODE的Available Client Character Sets比较全面,'SQL_ASCII'的Available Client Character Sets只有SQL_ASCII, UNICODE, MULE_INTERNAL ,不知道会不会有其它特别的问题?我的邮件lgc653◎263.net。
也谢谢其它热心人。
cancersyf 2004-10-02
  • 打赏
  • 举报
回复
在web.config里面加上
<globalization requestEncoding="gb2312" responseEncoding="gb2312" fileEncoding="gb2312" />
ncowboy 2004-10-02
  • 打赏
  • 举报
回复
CREATE DATABASE lacl
WITH OWNER = postgres
ENCODING = 'SQL_ASCII';


我的完全没有问题.

我的
email:ncowboy.at.gmail.dot.com。
yahoo:zizhao_chen。

剧烈欢迎你和我交流。
greenery 2004-10-02
  • 打赏
  • 举报
回复
在 web.config 改

<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
/>
改为
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
输出结果就是gb2312了
lgc653 2004-09-30
  • 打赏
  • 举报
回复
我是这样写的,但是好像没用
string unicodeString = dt.Rows[0][1].ToString();
Encoding ascii = Encoding.GetEncoding("gb2312");
Encoding unicode = Encoding.Unicode;
// Convert the string into a byte[].
byte[] unicodeBytes = unicode.GetBytes(unicodeString);
// Perform the conversion from one encoding to the other.
byte[] asciiBytes = Encoding.Convert(unicode, ascii, unicodeBytes);
// Convert the new byte[] into a char[] and then into a string.
// This is a slightly different approach to converting to illustrate
// the use of GetCharCount/GetChars.
char[] asciiChars = new char[ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
string asciiString = new string(asciiChars);
luoyankun0216 2004-09-30
  • 打赏
  • 举报
回复
你要调用。
System.Text.Encoding.GetEncoding("gb2312").GetString(bytebuf);
bytebuf是字节数组。
你可以把从数据库里面读出来的数据先保存为字节数组,然后这样转换就行。
不知道我记对了没有,你试一下就知道。
lgc653 2004-09-30
  • 打赏
  • 举报
回复
我尝试着把vs中的高级保存选项选了几种,也好像不行。
lgc653 2004-09-30
  • 打赏
  • 举报
回复
浏览器编码也设置了啊。
lgc653 2004-09-30
  • 打赏
  • 举报
回复
而且我发现一点
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form name="Form1" method="post" action="WebForm1.aspx" id="Form1">
鎻愭
</form>
</body>
</HTML>
这段代码,我在EDITPLUS中选择另存为converter是default的情况,或者不保存直接ctrl+b预览,可以显示正确,即“鎻愭”显示成了“提案”
如果保存的时候converter选择成了unicode或者utf-8,这个时候预览时还是显示的“鎻愭”
请大家指点一下,我对编码这些概念很模糊,谢谢了。
qingyun1020 2004-09-30
  • 打赏
  • 举报
回复
把浏览器的编码也设置一下吧
lgc653 2004-09-30
  • 打赏
  • 举报
回复
都不行,我觉得不是简单的设置一下的问题
CSTerry 2004-09-30
  • 打赏
  • 举报
回复
在web.config里面加上
<globalization requestEncoding="gb2312" responseEncoding="gb2312" fileEncoding="gb2312" />
微启子 2004-09-30
  • 打赏
  • 举报
回复
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
/>
设置一下应该可以了!~!
NEODIO 2004-09-29
  • 打赏
  • 举报
回复
在web.config中设置一下字符集编码格式应该就可以了
popcorn 2004-09-29
  • 打赏
  • 举报
回复
你的web.config中是是否是
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
/>

110,533

社区成员

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

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

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