彻底解决PHPMyAdmin中文UTF-8乱码问题

 更新时间:2016年11月25日 16:07  点击:1413
彻底解决PHPMyAdmin中文UTF-8乱码问题

PHPMyAdmin的中文乱码问题很常见,而且也很烦人。以前用PHPMyAdmin比较少,最近装上以后感觉非常的方便,但是同样也遇到了中文乱码的问题,主要是UTF-8和GB2312编码不能同时正确显示。从网上找到了一些资料,但是都不是很直接,现在结合自己的操作重新整理一下。
1. 因为MySQL的默认编码是latin1,所以首先我们需要修改一下PHPMyAdmin的编码转换。修改libraries目录下面的select_lang.lib.php文件,将


   1. ''utf-8'' => ''utf8'',
   2. 修改成
   3. ''utf-8'' => ''latin1'',





2. 接下来还要修改一下页面的编码显示,将


   1. ''zh-gb2312'' => array(''zh|chinese simplified'', ''chinese_simplified-gb2312'', ''zh''),
   2. 修改成
   3. ''zh-gb2312-utf-8'' => array(''zh|chinese simplified'', ''chinese_simplified-gb2312'', ''zh''),



也就是在zh-gb2312后面增加-utf-8,这样页面编码就支持UTF-8了。

3. 首先选择zh-gb2312-utf-8进入PHPMyAdmin,这个时候浏览GB2312编码的数据正常,但是浏览UTF-8的数据是乱码。如果浏览UTF-8的数据的话,进入首页,然后在Language里面选择zh-utf-8就可以了。


几点说明:

1. 默认的语言编码很长,你可以将其他编码用/**/注释掉,只保留zh-gb2312-utf-8和zh-utf-8两个编码。

2. 目前PHPMyAdmin最新的版本是2.8.0-r

; zend optimizer & zend debugger 冲突,不能同时共存

;;;;;;;;;;;;;;; zend optimizer ;;;;;;;;;;;;;;;;;
;zend_extension_manager.optimizer_ts="d:Program FilesZendZendOptimizer-3.2.6libOptimizer-3.2.6"
;zend_extension_ts="d:Program FilesZendZendOptimizer-3.2.6libZendExtensionManager.dll"
;zend_optimizer.enable_loader = 0
;zend_optimizer.optimization_level=15
;zend_optimizer.license_path =

;;;;;;;;;;;;;;;; zend debugger ;;;;;;;;;;;;;;;;;;;;;
zend_extension_ts="D:Program FilesZendZendStudio-5.5.0binphp55.2.xZendDebugger.dll"
zend_debugger.allow_hosts=127.0.0.1/32
zend_debugger.expose_remotely=always

[Xdebug]
; Xdebug 和 zend debugger 冲突, 不能同时以 zend_extension_ts 方式配置, 但是 extension= 引入是可以到
;;zend_extension_ts="D:Program FilesZendZendStudio-5.5.0binphp5xdebugphp_xdebug-2.0.2-5.2.5.dll"
;extension=php_xdebug-2.0.2-5.2.5.dll
;xdebug.profiler_enable=on
;xdebug.trace_output_dir="D:Program FilesZendZendStudio-5.5.0binphp5xdebug"
;xdebug.profiler_output_dir="D:Program FilesZendZendStudio-5.5.0binphp5xdebug"

;xdebug.default_enable = On
;xdebug.show_exception_trace = On
;xdebug.show_local_vars = 1
;xdebug.max_nesting_level = 50
;xdebug.var_display_max_depth = 6

;xdebug.dump_once = On
;xdebug.dump_globals = On
;xdebug.dump_undefined = On
;xdebug.dump.REQUEST = *
;xdebug.dump.SERVER = REQUEST_METHOD,REQUEST_URI,HTTP_USER_AGENT

另外:

zend optimizer 不支持 Apache2.2.x版本, 不知道谁有没有办法.

<


1.什么是引用?引用的优缺点,还有关于函数返回引用的问题.

2.有一道php的题是让我完成一个类的接口,我不明白什么是接口,希望高手指点.

3.遇到了一些关于类的问题, public static的用途什么的,希望大家给个相关教程看看.

4.下面着段代码
<?php
// 注意在 4.0.0-RC2 之前不存在 !== 运算符

if ($handle = opendir(''/path/to/files'')) {
    echo "Directory handle: $handlen";
    echo "Files:n";

    /* 这是正确地遍历目录方法 */
    while (false !== ($file = readdir($handle))) {
        echo "$filen";
    }

    closedir($handle);
}
?>


为什么false !==这里用!==而不用!=  ?


5.今天让我完成的那个类文件最后没有?>,   这样有什么意义么?

 

我的回复如下:

做为资深面试官解答如下:
1.通常在大型程序中,对引用的深入理解与处理影响到相关代码的执行效率问题,不正确处理引用会使程序效率低 35%以上,如关联程序过多,会更慢.那么什么是引用呢?要明白引用首先你得先明白什么是变量?$name="jiania",这里的$name就是变量,如果$username=&$name,那么我们就说变量$username与变量$name指向同一个对象,就是jiania,也就是说他们指向同一个地方.在function或是OO中,又有点需要注意的
举例:
环境:php5.1.6起
$powman=new jiania();
注意new jiania()前面并没有&,如果加了会出现错误,因为在高版本中,这里的引用交给Zend 引擎来处理,它对这个进行了限制.

b.如果在一个函数内部给一个声明为 global 的变量赋于一个引用,该引用只在函数内部可见。可以通过使用 $GLOBALS 数组避免这一点。
c.复杂数组最好拷贝而不是引用。
d.$this ,在一个对象的方法中,$this 永远是调用它的对象的引用。
2.其实楼主面试不知是什么层次的程序员,php有关接口在现实中很少程序员真正使用到。当然现在玩框架的人例外.我本身是一名JAVA程序员,从05开发PHP框架起,在接口上有一些理解。现讲解一下。
如果你要明白接口,首先你得明白什么叫对象,那什么是对象呢?万物皆对象,把所有的东西当成对象,比如我的名字叫洪建家,我孩子的名字叫小家家,这里的名字就是对象,洪建家与小家家都是人,这就是类,OK,明白了什么是类与对象,接下来我跟你讲讲什么是抽像类,现实中我们常会描述一些对象,但却没有具体的实现方法,这样的类就是抽象类,比如
abstract class CallMe{
        abstract function showMe();
              
}
class Callson extends CallMe {
    function showMe{
        print "Callson::showMe()n";
    }
}
这里的CallMe就是抽像类,抽像类只能通过子类来具体实现。OK,明白了什么叫抽像类,我们下面再来讲解什么是接口。
对于初学者,你可以理解接口(interface)是抽象类的变体。可能会有一些刚接触OO的人会问,那为何还需要区别什么是接口,什么是抽像类,答接口是用于实现多重继承。以下是一个接口的简单演示,注意实现任何接口必需用implements关键字

<

控制 php 类的实例化次数!为了保证服务器资源的有效利用,而且一个类比方说模板啊,数据库什么的,在一个页面内只需要实例化一次!也就是在内存中只运行一个实例!那么为了避免重复实例化,那么控制 php 类的实例化次数,是很有必要的!方法其实很简单:就是给类一个外部接口,私有化(private)构造函数,抛弃可以在类外部使用new实例化该类的方法!以下,就是我给出的一个例子,相信大家一看就明白了!( PHP5 以上版本! )

<?php
class test{
   const name = ''test'';
   public static $havenew = false;
   public $name = ''我被限制为只能实例化一次了!'';
   private function __construct(){
  
   }
   function __destruct(){
    self::$havenew = false;
   }
   public function inter(){
    if(self::$havenew){
     echo ''类 ''.self::name.'' 已被实例化!'';
     return NULL;
    }else{
     self::$havenew = true;
     return new self;
    }
   }
}
$class1 = test::inter();
var_dump($class1);
echo ''<br />'';
$class2 = test::inter();
var_dump($class2);
?>

这里都是实例通过test里inter()这个方法实例化对象的!因为构造本身不可以直接访问,所以也不存在可以使用new 来实例化!




<?php
// Yahoo Web Services PHP Example Code
// Rasmus Lerdorf
// www.111cn.net

$appid = ''YahooDemo'';
// 在这输入你申请的ID号

$service = array(''image''=>''http://api.search.yahoo.com/ImageSearchService/V1/imageSearch'',
                 ''local''=>''http://api.local.yahoo.com/LocalSearchService/V1/localSearch'',
                 ''news''=>''http://api.search.yahoo.com/NewsSearchService/V1/newsSearch'',
                 ''video''=>''http://api.search.yahoo.com/VideoSearchService/V1/videoSearch'',
                 ''web''=>''http://api.search.yahoo.com/WebSearchService/V1/webSearch'');
?>
<html>
<head><title>PHP Yahoo Web Service Example Code</title></head>
<body>
<form action="YahooSearchExample.php" method="GET">
Search Term: <input type="text" name="query" /><br />
Zip Code: <input type="text" name="zip" /> (for local search)<br />
<input type="submit" value=" Go! " />
<select name="type">
<?php foreach($service as $name => $val) {
    if(!empty($_REQUEST[''type'']) && $name == $_REQUEST[''type''])
      echo "<option SELECTED>$name</option>n";
    else echo "<option>$name</option>n";
} ?>
</select>
</form>
<?php
function done() {?>
</body></html>
<?php
exit;
}

if(empty($_REQUEST[''query'']) || !in_array($_REQUEST[''type''],array_keys($service))) done();

// Ok, here we go, we have the query and the type of search is valid
// First build the query
$q = '
[!--infotagslink--]

相关文章

  • php生成二维码中文乱码问题解决方法

    最近做了个扫描二维码得到vcard的项目,遇到一个问题,有一部分生成完的二维码,用android系统手机扫描后得到的vcard中的中文姓名是乱码,经过比对发现,这部分vcard中ORG这个...2016-11-25
  • js URLdecode()与urlencode方法支持中文解码

    下面来介绍在js中来利用urlencode对中文编码与接受到数据后利用URLdecode()对编码进行解码,有需要学习的机友可参考参考。 代码如下 复制代码 ...2016-09-20
  • 运行vbs脚本报错无效字符、中文乱码的解决方法(编码问题)

    今天在写一个vbs的时候,发现中文乱码,后来写好代码正常运行的代码压缩一下给了同事,发现报无效字符,经过验证后发现原来是编码的问题导致,这里就为大家分享一下...2020-06-30
  • 关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)

    最近两天做项目总是被乱码问题困扰着,这不刚把mysql中文乱码问题解决了,下面小编把我的解决方案分享给大家,供大家参考,也方便以后自己查阅。首先:用show variables like “%colla%”;show varables like “%char%”;这两条...2015-11-24
  • phpmyadmin config.inc.php配置示例

    phpmyadmin config.inc.php配置示例...2013-09-29
  • C#读取中文文件出现乱码的解决方法

    这篇文章主要介绍了C#读取中文文件出现乱码的解决方法,涉及C#中文编码的操作技巧,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • Windows服务器MySQL中文乱码的解决方法

    我们自己鼓捣mysql时,总免不了会遇到这个问题:插入中文字符出现乱码,虽然这是运维先给配好的环境,但是在自己机子上玩的时候咧,总得知道个一二吧,不然以后如何优雅的吹牛B。...2015-03-15
  • Mysql在debian系统中不能插入中文的终极解决方案

    在debian环境下,彻底解决mysql无法插入和显示中文的问题Linux下Mysql插入中文显示乱码解决方案mysql -uroot -p 回车输入密码进入mysql查看状态如下:默认的是客户端和服务器都用了latin1,所以会乱码。解决方案:mysql>use...2013-10-04
  • linux mint 下mysql中文支持问题

    一.mysql默认不支持中文,它的server和db默认是latin1编码.所以我们要将其改变为utf-8编码,因为utf-8包含了地球上大部分语言的二进制编码 1.关闭mysql服务 sudo /etc/init.d/mysql stop 2.修改mysql配置文件 mysql配...2015-10-21
  • php怎么用拼音 简单的php中文转拼音的实现代码

    小编分享了一段简单的php中文转拼音的实现代码,代码简单易懂,适合初学php的同学参考学习。 代码如下 复制代码 <?phpfunction Pinyin($_String...2017-07-06
  • PHP json_encode() 函数详解及中文乱码问题

    在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它。这个函数的功能是将数值转换成json数据存储格式。<&#63;php$arr = array ( 'Name'=>'希亚', 'Age'...2015-11-08
  • Java连接数据库oracle中文乱码解决方案

    这篇文章主要介绍了Java连接数据库oracle中文乱码解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-05-16
  • 解决HttpPost+json请求---服务器中文乱码及其他问题

    这篇文章主要介绍了解决HttpPost+json请求---服务器中文乱码及其他问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-22
  • 使用phpMyAdmin批量修改Mysql数据表前缀的方法

    多个网站共用一个Mysql数据库时,为使数据库管理不混乱,一般采用不同的网站使用不同前缀名的方式进行区分。而如何批量修改已有数据库的前缀名呢?全部导出修改后再导入?还是一个表一个表的修改?今天我要介绍的是相对简单的...2015-10-21
  • phpMyadmin创建数据库和设置用户权限图解

    phpmyadmin是一款很不错的WEB对mysql数据库管理软件,如果你想创建数据库与设置用户权限我们必须操作用户的很高的权限,如ROOT权限,下面我来给大家介绍介绍。 先来配...2016-11-25
  • 修改mysql密码phpmyadmin不能登录

    出现phpmyadmin不能登录是我在修改我mysql服务器密码之后导致的,后来百度了相关的原因,原来是修改了mysql密码之后我们还需要在phpmyadmin目录中去修改config.inc.php中...2016-11-25
  • php中iconv编码转换来解决中文乱码的问题

    用到iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些 代码如下 复制代码 ...2016-11-25
  • php mail发邮件标题中文乱码的问题解决办法

    本文章来给大家介绍php mail发邮件标题中文乱码的问题解决办法,希望到此类问题的朋友可进入参考。 当使用下面的PHP语句发送电子邮件的时候,如果编码和接收邮箱编码...2016-11-25
  • FlashFXP连接站点中文显示乱码解决办法

    FlashFXP是一款常用的服务器客户连接软件了,我们可以通过FlashFXP来上传或下载文件,但有一些朋友使用FlashFXP时碰到中文目录或文件名乱码问题,那么要如何来解决呢?具体就...2016-10-10
  • phpmyadmin不能登录,无任何提示的问题解决

    昨天有一朋友说自己的phpmyadmin不能登录并且无任何提示了,问我怎么解决,下面我来分享一下关于phpmyadmin不能登录问题总结. phpmyadmin不能登录没有提示 解决方法:...2016-11-25