关于mysql读取、写入出现乱码的解决方法(个人总结)
我使用的是apserv安装包,安装时语言我选择的是gb2312,后来在建立新的数据库时,‘整理’选择的是utf8,接下来在表中参数类型基本选择的都是utf8,接下来我就直接调用啦,嘎嘎,我写的是一个简单的留言本。最简单的读取数据库写入数据库的程序,嘎嘎!奇怪的是在数据库里面直接操作中文显示都很正常。可是一到网页上读取留言信息时,中文全部是问号?,然后我又试着写出写留言代码试试看,orz,读进去的都是那个不知道什么符号。。。
于是乎我就去网上翻天覆地的找了好久,终于KO了这个问题,嘎嘎。
首先声明本人初学,只能保证我这种方法是能够解决读取写入乱码的。但是不代表只能这样做。。。
我的解决方法如下:
1.my.ini文件中的
[mysql]
default-character-set = utf8 //此处设置为utf8,注意不是utf-8
2.在连接数据库选择表之后,操作数据前,添加一句 mysql_query("SET NAMES 'GB2312'");
嘎嘎,1不确定是不是必要的,但是我确定2是必要的,其他的就是在表中数据尽量采用utf8.
这样问题就解决啦!
好,展示下个人写的第一个超超超超简单的留言本程序,刚学php,没做格式控制,大家别笑话。这是纯手写哦!
/*首页读取留言信息的代码index.php*/
<?php include("include/config.php");?>
<?PHP include("include/head.php");?>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>留言本</title>
</head>
<body>
<p>
<?php include("include/conn.php");
$q = "SELECT * from lyb";
mysql_query("SET NAMES 'GB2312'"); // 防止出现乱码
?>
<?
$rs = mysql_query($q, $dbh);
/*输出数据并分行*/
while($row = mysql_fetch_array($rs)) echo "序号$row[id] 姓名:$row[name] qq:$row[qq] 内容:$row[content]<br/>";
?>
<?php include("include/foot.php")?>
</p>
<p><a href="input2.php">写留言</a></p>
/*input2.php至于为什么取名为2,因为设置了两种写入页面,嘎嘎*/
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>留言</title>
</head>
<body>
<form method="post" action
相关文档:
1.1.1 MySQL下载、安装与启动
在使用MySQL之前,需要建立数据库的环境来创建数据表,首先我们需要安装该数据库环境,即MySQL。
1、下载MySQL
MySQL的官方网站是http://www.mysql.org/,如图2-9所示:
图2-9 MySQL官方网站
当前稳定版本为5.1,我们选用MySQL 5.1.22作为数据库服务器,到其官方 ......
1. 在使用Navicat 8 for MySQL客户端创建数据库时,编码的设置如下图:
2. 将安装目录F:\MySQL\MySQL Server 5.1下,my.ini文件设置变量值default-character-set=gbk (包含两处,可查找default-character-set),然后重启MYSQL服务。 ......
配置环境:UUbuntu 8.04
1.安装vsftpd
sudo apt-get install vsftpd
2.创建guest用户
vsftpd安装的时候会自动安转一个ftp用户,在passwd中删除
sudo useradd virtual
设置virtual的密码为webftp
sudo passwd virtual
编辑virtual用户的主目录并设置shell
sudo vim /etc/passwd
我设置的是virtual:x:1001: ......
BIND-DLZ实验:http://bind-dlz.sourceforge.net/
实验环境:RHEL4,BIND-9.5.0-P2.tar.gz(9.4.0以上版本都已含DLZ补丁),Mysql-5.0.56.tar.gz
1、安装mysql(先安装gcc等相关软件包)
#tar zxvf mysql-5.0.56.tar.gz
#cd mysql-5.0.56
#./configure --prefix=/usr/local/my ......