utf-8 data retrieve from database

此生再无相见时 提交于 2020-01-15 03:52:13

问题


I have utf-8-general-ci in database..and inserted data in hebrew langugae.. now when i retrieve data it displays me string like ??????.. database connection is like this..

 function __construct($strHost='', $strDB='', $strUser='', $strPass='')
    {
        try{

            if($strHost != ''){$this->strHost = $strHost;}
            if($strDB != ''){$this->strDB = $strDB;}
            if($strUser != ''){$this->strUser = $strUser;}
            if($strPass != ''){$this->strPass = $strPass;}

  $this->objDB = new PDO("mysql:host=".$this->strHost.";port=3306;dbname=".$this->strDB,$this->strUser, $this->strPass, array( PDO::ATTR_PERSISTENT => true));
            if($this->objDB)
            {
                return $this->objDB;
            }
            else
            {
                echo "Database Connection Failed.";die;
            }
        }
        catch(Exception $objException)
        {
            echo $objException->getMessage();exit;
        }
    }

can anyone help please ?


回答1:


Add utf8 in your PDO connection as

 $this->objDB = new PDO("mysql:host=".$this->strHost.";port=3306;dbname=".$this->strDB, $this->strUser, $this->strPass,
 array( PDO::ATTR_PERSISTENT => true,
    PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));

Read http://php.net/manual/en/pdo.construct.php



来源:https://stackoverflow.com/questions/37453535/utf-8-data-retrieve-from-database

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!