精华内容
下载资源
问答
  • mysql php 汉字问号 php html 乱码

    千次阅读 2013-09-09 15:50:37
    php从mysql取数据输出时会出现问号的情况。 PHP通过设置character_set_client,告诉Mysql,PHP存进数据库的是什么编码方式。 PHP通过设置character_set_results,告诉Mysql,PHP需要取什么样编码的数据。 PHP通过...

    php从mysql取数据输出时会出现问号的情况。

    PHP通过设置character_set_client,告诉Mysql,PHP存进数据库的是什么编码方式。

    PHP通过设置character_set_results,告诉Mysql,PHP需要取什么样编码的数据。
    PHP通过设置character_set_connection,告诉Mysql,PHP查询中的文本,使用什么编码。

    MYSQL使用设置的编码方式存储文本。

    mysql_select_db("travel", $con);//选择数据库
    mysql_query ( "set character_set_client =utf-8" );
    mysql_query ( "set character_set_results =gbk" ); //实践表明有这一行,php文件就可以显示汉字了,我的mysql字符集是gbk,可能别的有 gb2312等等
    mysql_query ( "set character_set_connection =utf-8" );

    以上三行mysql_query可以用mysql_query("set names gbk");代替。

    具体关于字符集的事情请参考http://blog.csdn.net/martinkro/article/details/5352474

    php可以显示汉字之后,在html里用echo会出现乱码,是因为html的字符集是utf-8

    <?php 
     header("Content-Type:text/html;charset=gbk"); //输出前加上这行防止出现乱码。
    echo $row ['title'];
    ?>

    来说说这个 header("Content-Type:text/html;charset=gbk"); 详情参看http://www.jb51.net/article/22501.htm

    一般html上面都有<meta http-equiv="Content-Type" content="text/html; charset=utf-8">,utf-8是为了符合国际化的标准………………总的来说header() 比<meta>优先级高,html会以header()为准。

    至此原来utf-8标准下html中标签内的汉字将会变成乱码……继续研究中

    我发现了一个叫做iconv的字符集转换函数,

    iconv('gbk', 'utf-8', $str);

    这是把gbk转换成utf-8,注意啊一定是utf-8,html是不认识utf8的………………

    至此

    <?php 
     header("Content-Type:text/html;charset=gbk"); //输出前加上这行防止出现乱码。
    echo $row ['title'];
    ?>这段不在需要header()函数,变为如下:

    <?php  
    $string = $row ['title'];
    echo iconv("gbk","utf-8",$string);
    ?>

    html上边还是<meta http-equiv="Content-Type" content="text/html; charset=utf-8">,也就是说html的字符集还是utf-8。

    终于可以了………………


    展开全文
  • 在数据库中获取到了新闻标题,使用php截取一部分,出现问号乱码。 原来的代码是: <?php $res['art_title'] ='选择好的空投糖果网站难吗?'; echo substr($res['art_title'],0,20); ?> 了解到substr() ...

    在数据库中获取到了新闻标题,使用php截取一部分,出现问号乱码。

    原来的代码是:

    <?php 
    $res['art_title'] ='选择好的空投糖果网站难吗?';
    echo substr($res['art_title'],0,20);
    ?>

    了解到substr() 截取中文字符会乱码,于是修改为 mb_substr()

    <?php 
    $res['art_title'] ='选择好的空投糖果网站难吗?';
    echo mb_substr($res['art_title'],0,20);
    ?>

    在本地测试一度正常,后面换了服务器,上线之后,又出现乱码了

    查询说是因为网页文件与数据库编码不一致

    天知道为什么不一致

    我明明记得数据库和页面文件我都是设置的 utf8 来着

    虽然不懂什么逻辑,但是也找到了解决方法,mb_substr() 最后一个参数再加上编码就行。

    展开全文
  • ``phpmyadmin下字符集乱码问号,在下已血崩,网上查了很多方法,试过在编译器下添加header("Content-type:text/html;charset=utf-8"); page laguage='php' pageEncoding='utf-8'); 也试过mysql_query('set names ...
  • PHP项目,所有文件,文件编码设置 utf-8,仍然出现乱码中午乱码问号? 查找项目中 是否有文件携带BOM头,肉眼和比对软件,看不出是否有,需要代码测试下 把改代码,放到项目主目录下   <?php //此文件...

    PHP项目,所有文件,文件编码设置 utf-8,仍然出现乱码中午乱码问号?

    查找项目中 是否有文件携带BOM头,肉眼和比对软件,看不出是否有,需要代码测试下

    把改代码,放到项目主目录下

     

    <?php
    //此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除
    //By Bob Shen
     
    $basedir="."; //修改此行为需要检测的目录,点表示当前目录
    $auto=0; //是否自动移除发现的BOM信息。1为是,0为否。
     
    //以下不用改动
     
    if ($dh = opendir($basedir)) {
    while (($file = readdir($dh)) !== false) {
    if ($file!='.' && $file!='..' && !is_dir($basedir."/".$file)) echo "filename: $file ".checkBOM("$basedir/$file")." <br>";
    }
    closedir($dh);
    }
     
    function checkBOM ($filename) {
    global $auto;
    $contents=file_get_contents($filename);
    $charset[1]=substr($contents, 0, 1);
    $charset[2]=substr($contents, 1, 1);
    $charset[3]=substr($contents, 2, 1);
    if (ord($charset[1])==239 && ord($charset[2])==187 && ord($charset[3])==191) {
    if ($auto==1) {
    $rest=substr($contents, 3);
    rewrite ($filename, $rest);
    return ("<font color=red>BOM found, automatically removed.</font>");
    } else {
    return ("<font color=red>BOM found.</font>");
    }
    }
    else return ("BOM Not Found.");
    }
     
    function rewrite ($filename, $data) {
    $filenum=fopen($filename,"w");
    flock($filenum,LOCK_EX);
    fwrite($filenum,$data);
    fclose($filenum);
    }
    ?>

     

     

     

    把参数改为

    $auto=1; //是否自动移除发现的BOM信息。1为是,0为否。

    删除之后,上传,就好了

     

    转载于:https://my.oschina.net/osgrace/blog/711939

    展开全文
  • MySQL插入后中文乱码问号???问题现象: 1. 设置 2 处MySQL字符集 Windows下和Linux下修改方法一样: ① 找到核心配置文件 C:\ProgramData\MySQL\MySQL Server 5.7\my.ini 说明:ProgramData默认为隐...

    MySQL:小朋友,你是否有很多问号???

    MySQL插入后中文乱码或问号???问题现象(4,5,6行数据):
    在这里插入图片描述

    1. 设置 2 处MySQL字符集

    Windows下和Linux下修改方法一样:
    ① 找到核心配置文件
    Windows MySQL 配置文件: C:\ProgramData\MySQL\MySQL Server 5.7\my.ini (ProgramData默认为隐藏目录)
    Linux MysQL 配置文件: /etc/my.cnf

    ② 新增如下 2 处设置字符集内容

    [mysql] # 第一处
    default-character-set=utf8
    
    [mysqld] # 第二处
    character-set-server=utf8
    collation-server=utf8_general_ci
    

    如我的修改截图(增量式修改,方为万全之策):
    在这里插入图片描述
    在这里插入图片描述

    2. 重启 MySQL 服务

    Windows MysQL 服务重启命令:net stop mysql57 && net start mysql57
    Linux MySQL 服务重启命令:service mysql restart
    在这里插入图片描述

    能一行搞定的事情,即 效率本源。

    • 最终再次插入数据测试验证(第 7 行):
      在这里插入图片描述
    展开全文
  • 有时候直接用php导出excel会有乱码或者中文变成问号出现,这时候肯定就是编码的问题了。  前 后  前 后  环境 MySQL 5.0 数据库 utf8_general_ci 编码 PHP UTF8 编码 需要...
  • 原文链接:... PHP用pdo连接数据库时出现中文乱码问题解决办法 1.array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8"),在与数据库建立连接的时候的第四个参数 example: $dbh = new PDO(...
  • mysql插入数据显示为问号或者乱码问题的解决方法(比较啰嗦,请仔细阅读到最后) 经常会发现mysql插入数据显示为问号或者乱码的问题,或是自己出现问题亦或是同学问我这问题,依然记得自己第一次解决这问题尝试了...
  • PHP乱码问题,UTF-8(乱码) 一.HTML页面转UTF-8编码问题  1.在head后,title前加入一行: 顺序不能错,一定要在 显示的标题有可能是乱码! 2.html文件编码问题: 点击编辑器的菜单:...
  • PHP操作数据库的时候,数据库中数据使用UTF8编码,在读出来的时候,显示的全是???????问号乱码,找了一些资料原来是在读取之前进行一次编码设置
  • 解决 PHP 输出中文乱码的问题

    万次阅读 2019-03-04 16:50:02
    今天给导航狗(https://daohanggou.cn/)的 PHP 程序和数据库文件迁移了服务器, 但是迁移到新的服务器上之后 PHP 输出的中文和 PHP 输出的从 MySQL 数据库查询出来的数据中的中文都出现了乱码的情况. 下面记录一下我...
  • 以前的国外主机用的Mysql是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,导入数据后,用Php读出来全是问号乱码一片,记得我以前也曾经有过一次切换出现乱码的经验,...
  • 主要介绍了php查询mssql出现乱码的解决方法,分析了常见的各类解决方法供大家参考借鉴,非常具有实用价值,需要的朋友可以参考下
  • 解决方法: .text()之后转换一下,即将 替换为普通的空格.replace(Jsoup.parse(" ").text(), " ");
  • 以前用php连mssqy时也经常出现中文乱码(中文变问号)的问题,那时就明白是编码没设置好导航,现在的Python连mssql数据库也同样出现这问题,问题一样,解决的办法当然也会相似,现在我们来看看解决方法。     ...
  • 1.在head后,title前加入... charset=utf-8' />顺序不能错,一定要在 显示的标题有可能是乱码! 2.html文件编码问题: 点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确保文件编码为:UTF-8, 如果
  • 以前的国外主机用的Mysql是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,导入数据后,用Php读出来全是问号乱码一片,记得我以前也曾经有过一次切换出现乱码的经验,...
  • php中文乱码怎么解决

    2020-07-15 16:16:14
    php中文乱码怎么解决一、检查HTML页面转UTF-8编码问题二、PHP页面转UTF-8编码问题三、MYSQL数据库使用UTF-8编码的问题四、JS相关的UTF-8编码问题五、FLASH相关的UTF-8编码问题 一、检查HTML页面转UTF-8编码问题 1.在...
  • PHP乱码问题

    2013-04-07 10:54:00
    1.在head后,title前加入一行: <... charset=utf-8' /> ...顺序不能错,一定要在 ...显示的标题有可能是乱码! 2.html文件编码问题: 点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确...
  • MySQL对中文的支持程度还是很有限的,尤其是新手,但凡出现乱码问题,就会头大。
  • 解决php写入mysql乱码问题汇总

    千次阅读 2015-09-15 12:01:11
    使用php写入数据库,常常会出现中文乱码或显示为问号: 在这里总结了以下3种解决方法: 一、(字符串与数据库对应的字段编码不一致) 检查要写入的字符串与数据库对应的字段编码是否一致 二、在执行SQL语句...
  • 原有的函数截取中文字符时会出现乱码问题,修改smarty目录下plugins\modifier.truncate.php文件如下 -------------------------------gbk- -----------------------------
  • 问题补充: 乱码: ???:15 ???:25 ??:32 这几行,数据库里的值是汉字.显示出来的是问号. 解决办法: 在$rs=mysql_db_query("lib","select * from mytb",$conn); 前面加上 mysql_query("set names gb2312");或者mysql_...
  • phpQuery乱码解决经验分享

    千次阅读 2013-12-11 14:57:28
    之前使用phpQuery采集页面信息,但是取过来后中文总是乱码,上网搜了一下别的同僚的解决方案,其中最有用的一篇是http://blog.ihipop.info/2011/08/2647.html/comment-page-1 作者的解决方案很详细,但是按照方案...
  • PHP乱码解决方法

    2011-07-26 18:21:41
    PHP程序设计中中文编码问题曾经困扰很多人,导致这个问题的原因其实很简单,每个国家(或区域)都规定了计算机信息交换用的字符编码集,如美国的扩展 ASCII 码, 中国的 GB2312-80,日本的 JIS 等。作为该国家/区域内...
  • PHP中文乱码问题

    2017-07-26 11:36:59
    但是在前台打印出来是问号 [img=https://img-bbs.csdn.net/upload/201707/26/1501039857_666739.png][/img] 然后相反,在前台添加数据到数据库里,前台正常显示中文 [img=...
  • PHP程序设计中中文编码问题曾经困扰很多人,导致这个问题的原因其实很简单,每个国家(或区域)都规定了计算机信息交换用的字符编码集,如美国的扩展 ASCII 码, 中国的 GB2312-80,日本的 JIS 等。作为该国家/区域...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,474
精华内容 589
关键字:

php乱码问号