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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сообщение об ошибке подключения выводится непонятными знаками

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: При подключении к postgresql через pdo выводятся ромбики с вопросительными знаками
Vinikon
Отправлено: 09 Ноября, 2016 - 15:28:49
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Нояб. 2016  


Помог: 0 раз(а)




При подключении к базе данных Postgresql выдает ошибку. Проблема не в самой ошибке, а в том, что сообщение выводится в другой кодировке - ромбики. Вот пример:
SQLSTATE[08006] [7] �����: ������������ "postgres" �� ������ �������� ����������� (�� ������)
Смотрел в google, целый день ушел на поиск решения этой проблемы (чтобы сообщение об ошибке выводилось на обычном английском языке, как например в mysql в такой ситуации), но ничего конкретного не нашел.
Откуда берутся такие знаки, как это исправить?

(Отредактировано автором: 09 Ноября, 2016 - 16:14:00)

 
 Top
Fart
Отправлено: 09 Ноября, 2016 - 21:53:11
Post Id



Посетитель


Покинул форум
Сообщений всего: 324
Дата рег-ции: Июль 2016  


Помог: 10 раз(а)




если проблема в: "сообщение выводится в другой кодировке", то меняйте ее. в коде и сам файл
 
 Top
Vinikon
Отправлено: 26 Ноября, 2016 - 21:19:05
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Нояб. 2016  


Помог: 0 раз(а)




iconv("windows-1251", "UTF-8",$value);
такой вариант решает проблему. Но в общем случае придется, видимо, узнать кодировку БД у хостера. Например, она $hostLoc. Тогда придется поступать так:
If($hostLoc != 'utf-8')
{
$value = iconv($hostLoc, 'UTF-8', $value);
}
Но почему в этом же случае mysql адекватно себя ведет. Выдает сообщения либо на английском, либо в нужной кодировке, если подключение уже создано. А postgre либо с windows кодировку зачем-то берет, либо свою внутреннюю. Неожиданная проблема. Освобожусь, постараюсь этот вопрос поглубже изучить
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB