使用PHPmyadmin把mysql数据库导入导出时,出现中文乱码的问题。
以下介绍遇到中文乱码时的解决方法。
问题出在 编码 的问题上。
中文网站使用的字符集编码一般是 gb2312,gbk,utf8 这三种。
由于phpmyadmin默认的字符集是latin1_swedish_ci。
与常用的 gb2312,gbk,utf8 不一样了,所以如果不修改字符集,就会出现乱码了。
因此,在导出数据库时,要注意编码的问题。
因为经常使用的字符集是 gbk_chinese_ci ,所以就以 gbk_chinese_ci 为例来说明,如何处理中文乱码的问题。
首先,在导出数据时,要查看数据表中记录里的中文能否正常显示,如果显示的中文都是 ??? 这样的问号,那么你就要重新设置语言为你所采用的编码的数据库格式,比如的
数据库的编码是 gbk_chinese_ci ,数据库引擎是 MyISAM ,那么必须将phpMyAdmin的 Language (语言)设置为 Chinese simplified (zh-utf-8),而不是
Chinese simplified (zh-gb2312-utf-8)。
同样,如果你的数据编码是 gb2312_chinese_ci,那么必须把 Language 设置为 Chinese simplified (zh-gb2312-utf-8),而不是 Chinese simplified (zh-utf-8)。
只有选对了语言,我们在导出sql时才不会出现中文乱码。
为了检查导出的sql文件是否正确,可以直接用记事本打开 .sql 文件,查看中文看是否乱码,如果显示正常,则说明正确导出了。
在网站迁移,或重新导入sql文件时,一般的 MySQL 字符集: UTF-8 Unicode (utf8) ,不必修改,在导入上述导出的sql脚本时,“文件的字符集”选择utf8(默认)即可。
注意:在进入任何操作,如插入、查询等之前,都必须指定字符集,采取的方法是在数据库连接文件里加一句 : set names 'gbk' ;在网页显示时也不会出现乱码了。总之
,你用什么编码,你就指定什么编码。
至此,使用PHPmyadmin出现中文乱码的问题已经解决。
您可能感兴趣的文章:
phpMyAdmin导入和恢复大容量sql文件的方法
wamp打开phpmyadmin提示“缺少 mysqli 扩展。请检查 PHP 配置。”的解决方法
phpmyadmin安装出错,缺少mysqli扩展的几种解决方法
phpMyAdmin无法载入 mysqli 扩展,请检查 PHP 配置的解决方法
解决:phpmyadmin缺少 mysqli 扩展。请检查 PHP 配置的问题
MySQL与phpMyAdmin中文乱码的解决方法
phpmyadmin偶尔响应慢的问题的解决方法
php导入phpmyadmin导出的sql的实现代码
phpmyadmin 不能导入大SQL文件的解决方法
phpmyadmin导入大数据库文件时问题的解决方法
在网页中,使用多选框可以一次性选择多个属性值,进行批量操作。
网页中checkbox的用法一般为:
<form name="formcode1" method="post" action=""> <input name=code1 type=checkbox value=1> <input name=code1 type=checkbox value=2> <input name=code1 type=checkbox value=3> <input type="submit" name="s" value="【批量删除】"> </form>
在asp中,可以直接使用 request.form("code1") 获取参数值,request.form("code1")的值是以逗号 “, ”分割,比如上面如果全部勾选,那么获得的值为:1, 2, 3。
可以使用split函数进行切割,从而对每个参数进行合适的处理。
在php编程中,是无法直接通过$_POST["code1"]获取的,php中只能获取最后一个值,比如全部勾选,$_POST["code1"]的值只返回3。
此时,需要把表单 checkbox 的名称改为数组名:
<form name="formcode1" method="post" action=""> <input name=code1[] type=checkbox value=1> <input name=code1[] type=checkbox value=2> <input name=code1[] type=checkbox value=3> <input type="submit" name="s" value="【批量删除】"> </form>
因为,对于复选框checkbox值的获取,php是作为数组对待的。
接下来,就可以通过 $_POST["code1"] 获取数组array(1,2,3)里的全部值了。
再使用foreach函数,可以对数组array里的每个值进行操作。
参考代码:
<?php //获取checkbox中的值 $id=$_POST["code1"]; foreach($id as $n){ //foreach循环遍历 mysql_query()("delete from content where id=$n",$conn); echo "·结果:删除ID:(".$n.") 成功!<br />"; } //edit by www. //at 2013/7/4 ?>
首先,熟悉下php实现缓存的几个函数:
ob_start():页面缓存开始的标志,此函数一下的内容直至ob_end_flush()或者ob_end_clean()都保存在页面缓存中;
ob_get_contents():用来获取页面缓存中的内容;
ob_end_flush():表示页面缓存结束。并且经我验证,缓存的内容将输出到当前页面上,也就是可以显示缓存内容。
用此三个php函数,就可以实现强大的功能。如果数据库查询量较大,可以用cache来解决这个问题。
下面讲下具体的操作。
首先,设定过期时间,如果要求缓存文件2个小时过期,就可以设定cache_time为3600*2;
通过filectime()来获取缓存文件的创建时间(或 filemtime()获取修改时间),如果当前时间跟文件的创建时间超过限定的过期时间,就可以通过上面三个函数,首先从数据
库中取出数据,然后开始缓存ob_start(),然后把要生成的页面的html代码写在缓存中,缓存结束后通过ob_get_contents()获取到缓存的内容,然后通过fwrite把缓存内容写
到静态页面html。
如果未过期,直接读取cache中的静态页面即可,避免了大量的数据库访问。
实例代码:
<?php /** * php缓存页面实例 * edit by www. * at 2013/7/4 */ $_time =10; $dir="D:\\php\\"; function cache_start($_time, $dir) { $cachefile = $dir.'/'.sha1($_SERVER['REQUEST_URI']).'.html'; $cachetime = $_time; ob_start(); if(file_exists($cachefile) && (time()-filemtime($cachefile) < $cachetime)) { include($cachefile); ob_end_flush(); exit; } } function cache_end($dir) { $cachefile = $dir.'/'.sha1($_SERVER['REQUEST_URI']).'.html'; $fp = fopen($cachefile, 'w'); fwrite($fp, ob_get_contents()); fclose($fp); ob_end_flush(); } cache_start($_time, $dir); //以下是输出的内容,放在cache_start和cache_end两个方法之间 for ($i=0;$i<5;$i++) { echo $i; sleep(1); } cache_end($dir); ?>
更多有关php缓存的内容,请参考文章:
php缓存并压缩动态页面的方法介绍
一个php缓存类与调用示例
php简单页面缓存的实现代码
php缓存函数简介
php页面缓存ob系列函数的相关介绍
有关php的缓存技术介绍
一个php的页面缓存类
细说PHP下的缓存技术
您可能感兴趣的文章:
php获取CPU使用情况的代码
php中使用proc/loadavg监控CPU的平均负载
php记录服务器负载、内存、cpu状态的代码
php获取cpu与内存使用情况的代码一例
php获取linux服务器CPU、内存、硬盘使用率的实现代码
php获取计算机唯一标识信息(cpu,网卡,MAC地址)的代码
PHP-CGI 进程 CPU 100% 与 file_get_contents 函数的关系
php程序随机记录mysql rand()造成CPU 100%的解决方法
php获取CPU使用信息