|
|
|
| вобщем у меня класическая проблема в кодировке.
только при выборке из БД.
во всех полях, в БД, стоит cp1251_general_ci, вся страница отправляется с windows-1251(в <meta> стоит charset=windows-1251).
у меня на локалхосте работает всё отлично, но у хостера эта проблема....
в итоге отображаются знаки вопроса... | |
|
|
|
|
|
|
|
для: nikita2206
(18.02.2009 в 20:01)
| | Везде? или только в тех местах, что выводятся из БД?
meta в любом случае нужно убрать, и поставить вместо этого AddDefaultCharset Windows-1251 в .htaccess | |
|
|
|
|
|
|
|
для: Trianon
(18.02.2009 в 20:37)
| | именно вывод из бд, при том в бд всё согласовано, все, абсолютно все, поля идут с кодировкой cp1251_general_ci | |
|
|
|
|
|
|
|
для: nikita2206
(18.02.2009 в 20:55)
| | что показывает запрос
SHOW VARIABLES LIKE '%CHAR%'
|
будучи выполненным из php-скрипта? | |
|
|
|
|
|
|
|
для: Trianon
(18.02.2009 в 21:36)
| | насколько я понимаю его так надо вызывать?
<?
$result = mysql_query('SHOW VARIABLES LIKE \'%CHAR%\'');
$row = mysql_fetch_array($result);
echo $row[0].' : '.$row[1];
|
вот что говорит: character_set_client : latin1 | |
|
|
|
|
|
|
|
для: nikita2206
(18.02.2009 в 21:43)
| |
while( $row = mysql_fetch_array($result) )
echo $row[0].' : '.$row[1] . '<br>';
|
| |
|
|
|
|
|
|
|
для: Trianon
(18.02.2009 в 21:49)
| | вот:
character_set_client : latin1
character_set_connection : latin1
character_set_database : cp1251
character_set_filesystem : binary
character_set_results : latin1
character_set_server : utf8
character_set_system : utf8
character_sets_dir : /usr/share/mysql/charsets/ | |
|
|
|
|
|
|
|
для: nikita2206
(18.02.2009 в 21:55)
| | кодировку клиентского соединения вообще-то устанавливать нужно по всем правилам.
SET CHARACTER SET 'cp1251'
ну или SET NAMES 'cp1251' на худой конец... | |
|
|
|
|
|
|
|
для: Trianon
(18.02.2009 в 21:58)
| | всё понял, сначало просто недошло что в каждом запросе это должно происходить....
спасибо | |
|
|
|
|
|
|
|
для: nikita2206
(18.02.2009 в 22:16)
| | >всё понял, сначало просто недошло что в каждом запросе это должно происходить....
ничего подобного. | |
|
|
|
|
|
|
|
для: Trianon
(18.02.2009 в 22:17)
| | да нет, как раз подобно...) нужно при каждом запросе скрипта делать подобный запрос: SET NAMES `cp1251`....
иначе просто неработает... | |
|
|
|
|
|
|
|
для: nikita2206
(18.02.2009 в 22:36)
| | Запрос нужно выполнить один раз после установления соединения и выбора БД. Один раз на соединение.
После этого хоть сотню SQL-запросов издавай в рамках установленного соединения.
А что запрос скрипта вызывает необходимость установить соединение - это дело другое.
Если Вы пять раз в процессе обработки одного запроса скрипта будете устанавливать соединение , Вам пять раз придется настраивать кодировку. Пять, а не один. | |
|
|
|
|
|
|
|
для: Trianon
(18.02.2009 в 22:46)
| | я вас понял, давно, просто обьяснить несмог....) | |
|
|
|