pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

    <bdo id='YphJW'></bdo><ul id='YphJW'></ul>

    <legend id='YphJW'><style id='YphJW'><dir id='YphJW'><q id='YphJW'></q></dir></style></legend>

        <small id='YphJW'></small><noframes id='YphJW'>

        <tfoot id='YphJW'></tfoot>
        <i id='YphJW'><tr id='YphJW'><dt id='YphJW'><q id='YphJW'><span id='YphJW'><b id='YphJW'><form id='YphJW'><ins id='YphJW'></ins><ul id='YphJW'></ul><sub id='YphJW'></sub></form><legend id='YphJW'></legend><bdo id='YphJW'><pre id='YphJW'><center id='YphJW'></center></pre></bdo></b><th id='YphJW'></th></span></q></dt></tr></i><div class="00gek2c" id='YphJW'><tfoot id='YphJW'></tfoot><dl id='YphJW'><fieldset id='YphJW'></fieldset></dl></div>

        PHP/MySQL 中的 PDO 和 UTF-8 特殊字符?

        PDO and UTF-8 special characters in PHP / MySQL?(PHP/MySQL 中的 PDO 和 UTF-8 特殊字符?)
        <tfoot id='TrD4f'></tfoot>
              <bdo id='TrD4f'></bdo><ul id='TrD4f'></ul>

              <legend id='TrD4f'><style id='TrD4f'><dir id='TrD4f'><q id='TrD4f'></q></dir></style></legend>
            • <small id='TrD4f'></small><noframes id='TrD4f'>

                  <tbody id='TrD4f'></tbody>

                  <i id='TrD4f'><tr id='TrD4f'><dt id='TrD4f'><q id='TrD4f'><span id='TrD4f'><b id='TrD4f'><form id='TrD4f'><ins id='TrD4f'></ins><ul id='TrD4f'></ul><sub id='TrD4f'></sub></form><legend id='TrD4f'></legend><bdo id='TrD4f'><pre id='TrD4f'><center id='TrD4f'></center></pre></bdo></b><th id='TrD4f'></th></span></q></dt></tr></i><div class="iiiq00k" id='TrD4f'><tfoot id='TrD4f'></tfoot><dl id='TrD4f'><fieldset id='TrD4f'></fieldset></dl></div>
                  本文介紹了PHP/MySQL 中的 PDO 和 UTF-8 特殊字符?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我正在使用 MySQL 和 PHP 5.3 并嘗試了此代碼.

                  I am using MySQL and PHP 5.3 and tried this code.

                  $dbhost = 'localhost';
                  $dbuser = 'root';
                  $dbpass = '';
                  $con = mysql_connect("localhost", "root", "");
                  mysql_set_charset('utf8');
                  if (!$con)
                  {
                    die('Could not connect: ' . mysql_error());
                  }
                  
                  mysql_select_db("kdict", $con);
                  $sql = "SELECT * FROM `en-kh` where english='a'";
                  echo $sql;
                  $result = mysql_query($sql);
                  
                  while($row = mysql_fetch_array($result))
                  {
                    echo $row['english'] . " </br> " . $row['khmer'];
                    echo "<br />";
                  }
                  ?>
                  

                  => 我得到了很好的 UTF-8 渲染顯示,做得很好.

                  => I got good UTF-8 render display, well done.

                  但現在我創建了一個類 PDO 以保持易于擴展和更容易

                  But for now I create a class PDO to keep easy to extend and more easy

                   class crud {
                       // code..
                       public function conn()
                       {
                           isset($this->username);
                           isset($this->password);
                           if (!$this->db instanceof PDO)
                           {
                               $this->db = new PDO($this->dsn, $this->username, $this->password);
                               $this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                               $this->db->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8'");   
                            }
                        }
                        /*more code here*/
                  }
                  
                  
                  
                  /*** a new crud object ***/
                  $crud = new crud();
                  /*** The DSN ***/
                  $crud->dsn = "mysql:dbname=kdict;host=localhost";
                  
                  /*** MySQL username and password ***/
                  $crud->username = 'root';
                  $crud->password = '';
                  /*** select all records from table ***/
                  $records = $crud->rawSelect("SELECT * FROM `en-kh` where english='a'");
                  
                  /*** fetch only associative array of values ***/
                  $rows = $records->fetchAll(PDO::FETCH_ASSOC);
                  
                  /*** display the records ***/
                  foreach($rows as $row)
                  {
                      foreach($row as $fieldname=>$value)
                      {
                          echo $fieldname.' = '.$value.'<br />';
                      }
                      echo '<hr />';
                  }
                  ?>
                  

                  但它顯示我的角色是這樣的'????'

                  But it displays my character something like this '????'

                  我在 Stack Overflow 上找到了這個鏈接,看起來和我遇到的問題一樣PHP/MySQL 中的特殊字符

                  I found this link on Stack Overflow, it looks like the same problem i met Special characters in PHP / MySQL

                  它看起來和我的問題一樣 => 我試圖修復它,但我仍然無法工作.

                  It looks the same as my problem => I tried to fix it, but I still doesn't work.

                  $this->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAME'utf8'");
                  

                  誰能告訴我是什么問題?我該如何糾正?

                  Can anyone tell me what the problem is? How can I correct it?

                  謝謝

                  推薦答案

                  你缺少一個S:它是 SET NAMES 而不是 SET NAME:

                  $this->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8'");
                  

                  你當然也需要取消注釋.另外,PDO::MYSQL_ATTR_INIT_COMMAND 可以設置與PDO::setAttribute() 建立數據庫連接后(常量名說明了一切),您必須指定它在 constructor 中使用 $driver_options 參數,例如這個:

                  You also need to un-comment it of course. Also, PDO::MYSQL_ATTR_INIT_COMMAND can not be set with PDO::setAttribute() after you've established your database connection (the constant name says it all), you've to specify it in the constructor using the $driver_options argument, like this:

                  $this->db = new PDO($this->dsn, $this->username, $this->password, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
                  

                  另一種方法是在連接后立即執行相同的查詢:

                  An alternative to this is to just execute that very same query immediately after connecting:

                  $this->db = new PDO($this->dsn, $this->username, $this->password);
                  $this->db->exec("SET NAMES 'utf8';");
                  

                  這篇關于PHP/MySQL 中的 PDO 和 UTF-8 特殊字符?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  Deadlock exception code for PHP, MySQL PDOException?(PHP、MySQL PDOException 的死鎖異常代碼?)
                  PHP PDO MySQL scrollable cursor doesn#39;t work(PHP PDO MySQL 可滾動游標不起作用)
                  PHP PDO ODBC connection(PHP PDO ODBC 連接)
                  Using PDO::FETCH_CLASS with Magic Methods(使用 PDO::FETCH_CLASS 和魔術方法)
                  php pdo get only one value from mysql; value that equals to variable(php pdo 只從 mysql 獲取一個值;等于變量的值)
                  MSSQL PDO could not find driver(MSSQL PDO 找不到驅動程序)
                    • <bdo id='oD537'></bdo><ul id='oD537'></ul>
                        <tbody id='oD537'></tbody>
                    • <small id='oD537'></small><noframes id='oD537'>

                        <i id='oD537'><tr id='oD537'><dt id='oD537'><q id='oD537'><span id='oD537'><b id='oD537'><form id='oD537'><ins id='oD537'></ins><ul id='oD537'></ul><sub id='oD537'></sub></form><legend id='oD537'></legend><bdo id='oD537'><pre id='oD537'><center id='oD537'></center></pre></bdo></b><th id='oD537'></th></span></q></dt></tr></i><div class="s2usswa" id='oD537'><tfoot id='oD537'></tfoot><dl id='oD537'><fieldset id='oD537'></fieldset></dl></div>
                          <legend id='oD537'><style id='oD537'><dir id='oD537'><q id='oD537'></q></dir></style></legend>
                          <tfoot id='oD537'></tfoot>
                          • 主站蜘蛛池模板: 一体化净水器_一体化净水设备_一体化水处理设备-江苏旭浩鑫环保科技有限公司 | 科威信洗净科技,碳氢清洗机,超声波清洗机,真空碳氢清洗机 | 国标白水泥,高标号白水泥,白水泥厂家-淄博华雪建材有限公司 | 数控车床-立式加工中心-多功能机床-小型车床-山东临沂金星机床有限公司 | 成都顶呱呱信息技术有限公司-贷款_个人贷款_银行贷款在线申请 - 成都贷款公司 | 水厂自动化|污水处理中控系统|水利信息化|智慧水务|智慧农业-山东德艾自动化科技有限公司 | 空调风机,低噪声离心式通风机,不锈钢防爆风机,前倾皮带传动风机,后倾空调风机-山东捷风风机有限公司 | 宝元数控系统|对刀仪厂家|东莞机器人控制系统|东莞安川伺服-【鑫天驰智能科技】 | 沈阳网站建设_沈阳网站制作_沈阳网页设计-做网站就找示剑新零售 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | 贝朗斯动力商城(BRCPOWER.COM) - 买叉车蓄电池上贝朗斯商城,价格更超值,品质有保障! | 方源木业官网-四川木门-全国木门专业品牌 | 车辆定位管理系统_汽车GPS系统_车载北斗系统 - 朗致物联 | 浙江宝泉阀门有限公司 | 空冷器|空气冷却器|空水冷却器-无锡赛迪森机械有限公司[官网] | 120kv/2mA直流高压发生器-60kv/2mA-30kva/50kv工频耐压试验装置-旭明电工 | 拉曼光谱仪_便携式|激光|显微共焦拉曼光谱仪-北京卓立汉光仪器有限公司 | SRRC认证|CCC认证|CTA申请_IMEI|MAC地址注册-英利检测 | ET3000双钳形接地电阻测试仪_ZSR10A直流_SXJS-IV智能_SX-9000全自动油介质损耗测试仪-上海康登 | 大鼠骨髓内皮祖细胞-小鼠神经元-无锡欣润生物科技有限公司 | 衬四氟_衬氟储罐_四氟储罐-无锡市氟瑞特防腐科技有限公司 | LCD3D打印机|教育|桌面|光固化|FDM3D打印机|3D打印设备-广州造维科技有限公司 | 小型手持气象站-空气负氧离子监测站-多要素微气象传感器-山东天合环境科技有限公司 | 免费个人pos机申请办理-移动pos机刷卡-聚合收款码办理 | 楼梯定制_楼梯设计施工厂家_楼梯扶手安装制作-北京凌步楼梯 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 水性漆|墙面漆|木器家具漆|水漆涂料_晨阳水漆官网 | 混合气体腐蚀试验箱_盐雾/硫化氢/气体腐蚀试验箱厂家-北京中科博达 | 网站建设-高端品牌网站设计制作一站式定制_杭州APP/微信小程序开发运营-鼎易科技 | 广东佛电电器有限公司|防雷开关|故障电弧断路器|智能量测断路器 广东西屋电气有限公司-广东西屋电气有限公司 | 仿清水混凝土_清水混凝土装修_施工_修饰_保护剂_修补_清水混凝土修复-德州忠岭建筑装饰工程 | 哔咔漫画网页版在线_下载入口访问指引 | 智慧食堂_食堂管理系统_食堂订餐_食堂消费系统—客易捷 | 阻垢剂,反渗透阻垢剂,缓蚀阻垢剂-山东普尼奥水处理科技有限公司 真空粉体取样阀,电动楔式闸阀,电动针型阀-耐苛尔(上海)自动化仪表有限公司 | 产业规划_产业园区规划-产业投资选址及规划招商托管一体化服务商-中机院产业园区规划网 | CE认证_FCC认证_CCC认证_MFI认证_UN38.3认证-微测检测 CNAS实验室 | 碳纤维复合材料制品生产定制工厂订制厂家-凯夫拉凯芙拉碳纤维手机壳套-碳纤维雪茄盒外壳套-深圳市润大世纪新材料科技有限公司 | EFM 022静电场测试仪-套帽式风量计-静电平板监测器-上海民仪电子有限公司 | 成都LED显示屏丨室内户外全彩led屏厂家方案报价_四川诺显科技 | 志高装潢官网-苏州老房旧房装修改造-二手房装修翻新 | 玻纤土工格栅_钢塑格栅_PP焊接_单双向塑料土工格栅_复合防裂布厂家_山东大庚工程材料科技有限公司 | 上海APP开发-APP制作-APP定制开发-上海APP开发制作公司-咏熠科技 |