MySQL 用navicat新建表,存入中文数据为什么显示是俩问好啊,急求
发布网友
发布时间:2023-10-07 12:59
我来回答
共1个回答
热心网友
时间:2024-12-02 16:16
段都有编码设置.
出现乱码肯定是你现在用的编码混乱造成的
解决办法:
第一步 先改数据库编码
先修改你的数据库,如果你页面用的是UTF-8编码那么你数据库内的编码也需要设置为UTF-8,每个字段都需要设置.要保持内外一致,你可以用Navicat for MySQL工具,这个工具里能看得很清除,如果表\字段很多的话你可以导出SQL语句,然后把SQL语句中相应的编码替换例如gb2312替换成utf8,然后再重新创建一个库,创建的时候字符集选择utf8的再把SQL语句导入,检查一下所有的编码都是utf8的就OK
第二步 程序修改
1\读库的时候
mysql_query("set names utf8");
2\每个页面头部加上一句
header("content-Type: text/html; charset=utf-8");
3\检查所有的编码声明是否正确
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4\检查页面中现有文字所使用的编码是否正确,推荐你使用editplus在右下角会有显示UTF-8或者ANSI,要保证所有带有中文的文件打开后显示的编码集是UTF-8,如果不是的话可以将所有文件打开然后从菜单选择"文档"-"文件编码"-"文件编码(多文件)",然后选择所有的文件点确定,更改编码为UTF-8确定!
OK到此位置大功告成,所有的编码一致,绝对不会再出现乱码了,多说一句.对于MYSQL操作工具的选择本人只推荐两款,一是大家都熟悉的PHPMYADMIN 再就是Navicat for MySQL也有很多人都在用.至于MYSQL-font实在有些垃圾,有时显示出来的数据库结构和实际的都有差别....不敢苟同,另外MYSQL官方出的SQLyog对于编码的支持太差劲了,很难控制具体的编码,所以最好也不要用
提问者评价
谢谢