phpmyadmin显示utf8_general_ci中文乱码的问题终级篇

自己写PHP也有一年多了,然后编码问题却老是没有得到好的解决,自己的情况是这样的,

网页显示完全正常,在phpmyadmin数据库显示中文乱码,不管是简体还是繁体,只要是中文都是如下显示形式:梧州旅游

然而自己编写的网页中却显示完全正常,不管是繁体,还是简体,都不会乱码情况.

当然我的网页是保存为utf-8格式的,再加上我读库操作时加上了mysql_query("set names 'utf-8'");的语句,所以在网页中看到的是完全正常,当然只有在phpmyadmin中显示是乱码,如果你看到这里,网页部分是乱码,的话,按我说的,把网页用记事本另存为utf-8格式,然后在网页中指定<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />后,再在读取数据库时加上mysql_query("set names 'utf-8'");一定不会出现乱码了,当然数据库,数据表,字段也要保存为utf8_general_ci编码形式的,通过以上操作,在网页中是绝对不会出现乱码情况了,今天我在这里说明的就是在phpmyadmin中显示为乱码问题,这是一篇解决乱码的终级篇文章,好好看完这篇文章后,乱码不再会出现在我们程式与数据库中.

好,看了用文字部分后,你在网页中显示是绝对不会再出现乱码问题了,然而,在phpmyadmin中显示中文还是乱码,自己用了一天的时间,好好分析的自己的代码,编码格式,还有phpmyadmin的编码格式,搜GG,问高深技术人员,都无果,当然求人不如求已,自己再慢慢分析编码的问题,终于找到了自己在phpmyadmin中为什么会显示乱码的问题,如果你想去深入的了解一下编码的问题,为以后不再让乱码困扰着你,你要去查一下这两个区别:utf8和utf-8,别看他什么都一样,只多了一条线,差一线,就会把你的phpmyadmin搞成乱码,好,分析自己出现乱码情况,把红色字部分改,以下是防乱码出现终级的注意方法,包括网页中与phpmyadmin中的乱码问题:

1 把所有网页用记事本另存为utf-8, 如图:

注:ANSI是适用于BIG5和GBK的

2 在自己网页中指定<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />编码格式,这个比较简单,不多说明

3 数据库操作加上mysql_query("set names 'utf8'");看清了是utf8,不是utf-8,相关一线,用utf-8在phpmyadmin中就会是乱码,自己写程式一年多了,一直用utf-8,导至在phpmyadmin一直是乱码格式,现在改回utf8终于把phpmyadmin显示中文乱码问题给解决了,不过一个得注意,改成utf8后,你之前入库的中文在网页中读出来会全部是乱码,如果内容非常多的就不要改了,最多只是phpmyadmin是乱码,网页中显示总是正常的,这里改成utf8是以后开发程式时用这个就是网页,phpmyadmin全部显示会正常,为乱码问题说88.

4 数据库的编码格式为utf8_general_ci ,表格式也是utf8_general_ci,中文字段也是用utf8_general_ci,看phpmyadmin的载图:

以上是库和表载整理为utf8_general_ci ,然后是字段载图:

好了,做好这几步用utf8编码就不会再会有乱码出现了,原创文章,转载请注明转自腾马PHP博客

(0)

相关推荐

  • php中json_encode UTF-8中文乱码的更好解决方法

    最近在接口代码当中用到过json_encode,在网上找到说json_encode编码设置为UTF-8中文就不会乱码,经验证这办法确实是有效果的,但是不知道为什么,代码在用过一段时间之后就不太管用了.以下是自己的解决json_encode的办法.有更好的方法请分享出来吧! 第一种: 这种简单的做一个代码转换,urlcode之后再返回所需数组 我代码这样就足够了. 代码如下 复制代码 public static function encodeOperations ($array) { foreac

  • 小结下MySQL中文乱码,phpmyadmin乱码,php乱码 产生原因及其解决方法第1/3页

    乱码产生原因 mysql字符编码是版本4.1引入的,支持多国语言,而且一些特性已经超过了其他的数据库系统. 我们可以在MySQL Command Line Client 下输入如下命令查看mysql的字符集 mysql> SHOW CHARACTER SET; +----------+-----------------------------+---------------------+--------+ | Charset  | Description                 | De

  • PHP解决中文乱码

    在php中,中文乱码非常头疼,很麻烦,所以根据在编程的经验,总结以下方法(以utf_8为例), 1.php中在头部header设置编码方式 header("Content-type:text/html;charset=utf-8"); 2.php中用iconv转码 echo iconv("GB2312","UTF-8",'中文内容'); 3.在html中用<meat>标签声明 <meta http-equiv="Con

  • PHP中使用substr()截取字符串出现中文乱码问题该怎么办

    在PHP程序开发中,经常会执行字符串的截取操作,比如输出信息列表时,标题不宜过长,打印文章摘要时,也要执行一系列的字符串截取操作.遇到这些需求时,我们经常会想到使用substr()方法来实现,substr()对全英文字符串的截取是比较适合的. 但字符串只要出现中文字符,就有可能导致PHP substr中文乱码,因为中文UTF-8编码,每个汉字占3字节,而GB2312占2字节,英文占1字节,截取位数不准确,substr()硬生生地将一个中文字符"锯"成两半,造成断开的字符会把其后的..拉

  • 常见php与mysql中文乱码问题解决办法

    乱码问题1:用PHPmyAdmin操作MySQL数据库汉字显示正常,但用PHP网页显示MySQL数据时所有汉字都变成了?号. 症状:用PHPmyAdmin输入汉字正常,但当PHP网页显示MySQL数据时汉字就变成了?号,并且有多少个汉字就有多少个?号. 原因:没有在PHP网页中用代码告诉MySQL该以什么字符集输出汉字. 解决方法: 1.网页文件head设置编码<meta http-equiv="Content-Type" content="text/html; cha

  • PHP页面中文乱码分析

    PHP页面中文乱码出现的原因有几种,一种是页面编码不统计一,二是数据库未设置编码,三是apache编码有问题,下面我来给大家介绍两种解决办法,总体来讲就是页面编码不统一了.出现乱码大部分是由于编码方式的不一致导致的,其中主要有四个地方不一致就可能存在这个可能:1.页面文件的编码方式(.html,.php等)2.html.head中指定浏览器的编码方式3.MySql数据库传输的编码方式4.Apache字符集 在只有PHP代码的页面,做JS弹窗的时候,如果弹窗内容含有中文,可能会出现乱码的问题,解决

  • 完美解决PHP中文乱码

    一.首先是PHP网页的编码 1. php文件本身的编码与网页的编码应匹配 a. 如果欲使用gb2312编码,那么php要输出头:header("Content-Type: text/html; charset=gb2312"),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码

  • php url地址栏传中文乱码解决方法集合

    php地址栏传中文$_GET下来后乱码,urlencode和urldecode用法详解url编码语法: string urlencode(string str);返回值: 字符串函数种类: 编码处理例如: 复制代码 代码如下: <?php$ChineseName="我的名字,是中文的哦";$EncodeStr=urlencode($ChineseName);echo "<a href=/cgi/personal.cgi?name=$EncodeStr>我的名

  • 在PHP中PDO解决中文乱码问题的一些补充

    我的环境是appsver包, 在网上最常出现的解决中文乱码显示的代码是: 第一种:PDO::__construct($dsn, $user, $pass, array (PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES'utf8';")); 我试过用第一种方法,可结果是,name字段只显示一个'C'字符.之后的本该显示中文的地方却是空白. 结果是这样的:如图1示 我是只要解决的:直接将UTF8替换成了GBK,就可以了,即: PDO::__con

  • 解决phpmyadmin中文乱码问题。。。

    解决phpmyadmin中文乱码问题... 去phpMyAdmin的根目录下,打开以下这个文件: libraries/select_lang.lib.php 1.找到有"zh-gb2312"的那一行,把'zh-gb2312' 改成 'zh-gb2312-utf-8' 为什么这样加?那是因为服务器会把没有"-utf-8"的语言过滤掉,在libraries/database_interface.lib.php 第168行,根据英文说:"为了防止混淆"

随机推荐