解决的方法和详细的 *** 作步骤如下:
1、首先,单击“Objects”按钮以查看有关此表的详细信息,如下图所示,然后进入下一步。
2、其次,完成上述步骤后,“teacName”字段的字符集不是“utf8”,如下图所示,然后进入下一步。
3、接着,完成上述步骤后,可以右键单击此表,然后选择“Alter Table...”选项,如下图所示,然后进入下一步。
4、然后,完成上述步骤后,在“teacName”字段后面的字符集中选择“utf8_general_ci”选项,然后单击下面的“Alter”按钮,如下图所示,然后进入下一步。
5、随后,完成上述步骤后,成功修改,单击“确定”按钮,如下图所示,然后进入下一步。
6、最后,完成上述步骤后,再次插入中文数据,就不会出现乱码了,如下图所示。这样,问题就解决了。
我发现的这种解决方案是针对于用记事本来开发的例子:对于任何一个记事本我们单击另存为,发现有四种编码方式:ANSI,Uuicode,Unicode big endian,UTF-8这四种,没有必要更改默认的ANSI即可。
1.打开mysql/my.ini文件夹找到default-character-set=Latin1 更改为default-character-set=gb2312;
2.在创建表的时候最后面记得加这句话:default charset=gb2312 如下所示:
create table <表名>(.....)default charset=gb2312
3.在调用数据库的时候,加一句话,如下所示:
$link=mysql_connect('localhost','root','')
mysql_select_db('stud',$link)
mysql_query("set names 'gb2312' ")----加这句话!
这样,有2,3两步实现了编码及存储入表的匹配。
3.出现中文无法显示的原因有一个就是存储的编码跟连接数据库时的编码不一致导致的,特征表现为中文显示为?
你把你的这两行代码,顺序返过来mysql_query($sql,$conn) or die(mysql_error())
mysql_query("set names 'GBK'")
改为
mysql_query("set names 'GBK'")
mysql_query($sql,$conn) or die(mysql_error())
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)