Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помогите подключится к БД с параметрами кодировки UTF-8
Форумы портала PHP.SU » » Вопросы новичков » Помогите подключится к БД с параметрами кодировки UTF-8

Страниц (1): [1]
 

1. elikmhs - 25 Июля, 2018 - 14:47:33 - перейти к сообщению
Помогите подключится к БД с параметрами кодировки UTF-8

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. class DB{
  3.     public $db;
  4.     private $host = "localhost";
  5.     private $database = "staff";
  6.     private $user = "root";
  7.     private $pass = "";
  8.     public function __construct(){
  9.         try{
  10.             $this->db = new PDO("mysql:host=".$this->host.";dbname=".$this->database, $this->user, $this->pass);
  11.         }catch (PDOException $exception){
  12.             echo $exception->getMessage();
  13.         }
  14.     }
  15. }
  16. $db= new DB();
2. Мелкий - 25 Июля, 2018 - 15:00:12 - перейти к сообщению
charset=utf8 в DSN добавьте и всё.
3. elikmhs - 25 Июля, 2018 - 15:32:42 - перейти к сообщению
Мелкий пишет:
charset=utf8 в DSN добавьте и всё.


Прошу меня извинить но я не знаю как добавить в DNS

Если есть возможность помогите подправить выше указанный PHP код.

Благодарю за поддержку.
4. Мелкий - 25 Июля, 2018 - 15:36:11 - перейти к сообщению
Не в DNS, а в DSN. Data Source Name в PDO так называется, строка-первый параметр в new pdo.
5. elikmhs - 25 Июля, 2018 - 16:12:02 - перейти к сообщению
Мелкий пишет:
Не в DNS, а в DSN. Data Source Name в PDO так называется, строка-первый параметр в new pdo.


Я пытаюсь но без успешно. Пожалуйста помогите подправит код.
(Добавление)
CODE (htmlphp):
скопировать код в буфер обмена
  1. $this->db->exec("set names utf8");


Вот что требовалось дописать
6. Мелкий - 25 Июля, 2018 - 17:08:49 - перейти к сообщению
Это неправильный способ и в мануале отдельно написано почему: http://php.net/manual/en/mysqlin...epts.charset.php

PHP:
скопировать код в буфер обмена
  1. new PDO("mysql:host=localhost;dbname=world;charset=utf8", 'my_user', 'my_pass');

 

Powered by ExBB FM 1.0 RC1