关于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. 在使用Navicat 8 for MySQL客户端创建数据库时,编码的设置如下图:
2. 将安装目录F:\MySQL\MySQL Server 5.1下,my.ini文件设置变量值default-character-set=gbk (包含两处,可查找default-character-set),然后重启MYSQL服务。 ......
MYSQL安装
//解压编译安装
# tar xzvf mysql-5.0.27.tar.gz
# cd mysql-5.0.27
# ./configure -prefix=/home/redadmin/mysql
# make
# make install
# cd /home/redadmin/mysql/
# cp share/mysql/my-medium.cnf ./
# mv my-medium.cnf my.cnf
// my.conf文件修改
# vi my.cnf
修改前:
port &nb ......
1、登陆MySQL:
mysql -u root -p
2、查看用户信息
select user,host,password from mysql.user;
select user,host from mysql.user;
3、设置密码
set password for root@localhost=password('
在这里填入root密码
');
4、修改密码
方法1:mysqladmin -u root -p password newpassword
方法2: #mysql -u root ......
MySQL中常用的修改表的命令
关键字: mysql, 修改表, 命令
在数据库操作中,个人觉得使用得最多的就是查询,然后就是对表的修改操作了,尤其是当数据库的设计工作没有做好时.下面就MySQL中一些常用的修改表的操作进行总结:
为了方便后面的说明,先创建一个表,创建语句如下:
Create ......
前提:MySQL中存在一个用户自己建立的数据库,假设为mydb,mydb中有一张用户自己建立的表格,假设名称为mytable
我的前提:MySQL中存在两个数据库,yldb和yldb2,其中yldb数据库中有一张表,名为pet
一.MYSQL的命令行模式的设置:
桌面->我的电脑->属性->环境变量->新建->
PATH=“;path\mysql\bin ......