易截截图软件、单文件、免安装、纯绿色、仅160KB

请教mysql乱码问题

各位大虾,小弟有一问题
我用c语言做http请求,请求和返回数据都能得到的,然后我将请求的数据保存在mysql数据库中,开始我设置的数据库的默认charsert为latin1, 数据库中显示的内容都是正确的,但后来发现latin1不能正确显示在客户端,所以就改成了gb2312的,但是这个时候问题就来了,在数据库中显示都是乱码了。

附:我请求的网站的编码类型是gb2312的,它的返回的html的头是 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

我想请教的问题是,正常来讲,数据库为latin1编码时应该显示乱码,而为gb2312时应该是正常,为什么反过来了呢。
我应该怎样让mysql在gb2312编码下显示为正常呢。
是不是要对http请求返回的数据进行一下转换呢,如果要转,应该怎么转呢?

顺便说一下,要插入的表和表里面设置的字段编码方式都是gb2312的,配置都是正确的。
http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码

引用我想请教的问题是,正常来讲,数据库为latin1编码时应该显示乱码,而为gb2312时应该是正常,为什么反过来了呢。


比如“中”字,GB2312 编码为 D6D0

D6D0你可以以latin1 的方式存入,这样当你取的时候,如果你仍告诉MYSQL,“我以 latin1 方式取“这样MYSQL不做任何转换,回给你 D6D0

但如果你告诉MYSQL,“我以GB2312来取“,这样MYSQL看到表中这一列的字符集为 latin1 而你要的是 gb2312,则MYSQL会进行转换!所以显示得就是乱码了。

对表中字段的字符集修改并不影响表


相关问答:

MySql问题

MySql中插入当前时间的该怎么写啊?
now()

SQL code:

sql里是:
getdate()

引用
now()


学习

SQL code:
select now();

SQL code:
TODAY()
?

SQL code:
select now();
/* ......

mysql储存过程的问题

我现在学习MYSQL,问下mysql储存过程如何建立和使用,最好写成$sql="sql语句",$re=mysql_query($sql);谢谢
建议你先自己看一下文档中的例子。

http://dev.mysql.com/doc/refman/5.1/zh/stored-pro ......

mysql的驱动程序

我有一个java环境下的程序,在本机运行正常,但发布到网的虚拟主机时不能连接数据库连接池
jdk 1.6 tomcat6.0.18 mysql5 mysqljdbc5.1.5
虚拟主机的技术人员说,只能配置局域的数据库连接池,也就是在M ......

MYSQL安装失败

我以前安装了一次,后来卸载了,现在再安装的时候,提示错误:Error 1305.Error reading from file C:DOCUME~1\LOCALS~1\Temp\mysql_server.msi.Verify that the file exists and that you can access it.
可是我找 ......

MYSQL 如何修改BLOB类型的数据?

如题 数据是BLOB类型 怎么才能修改其中的某些值
BLOB中存入的是什么内容?

假设字段memo为blob类型,在该字段的值前面增加字符串'add--'
则操作语句如下:
SQL code:
update tb_blog set memo=concat( ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号