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 :: Версия для печати :: Сообщение об ошибке подключения выводится непонятными знаками
Форумы портала PHP.SU » » Работа с СУБД » Сообщение об ошибке подключения выводится непонятными знаками

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

1. Vinikon - 09 Ноября, 2016 - 15:28:49 - перейти к сообщению
При подключении к базе данных Postgresql выдает ошибку. Проблема не в самой ошибке, а в том, что сообщение выводится в другой кодировке - ромбики. Вот пример:
SQLSTATE[08006] [7] �����: ������������ "postgres" �� ������ �������� ����������� (�� ������)
Смотрел в google, целый день ушел на поиск решения этой проблемы (чтобы сообщение об ошибке выводилось на обычном английском языке, как например в mysql в такой ситуации), но ничего конкретного не нашел.
Откуда берутся такие знаки, как это исправить?
2. Fart - 09 Ноября, 2016 - 21:53:11 - перейти к сообщению
если проблема в: "сообщение выводится в другой кодировке", то меняйте ее. в коде и сам файл
3. Vinikon - 26 Ноября, 2016 - 21:19:05 - перейти к сообщению
iconv("windows-1251", "UTF-8",$value);
такой вариант решает проблему. Но в общем случае придется, видимо, узнать кодировку БД у хостера. Например, она $hostLoc. Тогда придется поступать так:
If($hostLoc != 'utf-8')
{
$value = iconv($hostLoc, 'UTF-8', $value);
}
Но почему в этом же случае mysql адекватно себя ведет. Выдает сообщения либо на английском, либо в нужной кодировке, если подключение уже создано. А postgre либо с windows кодировку зачем-то берет, либо свою внутреннюю. Неожиданная проблема. Освобожусь, постараюсь этот вопрос поглубже изучить

 

Powered by ExBB FM 1.0 RC1