News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

Кракозябы (???????????) при первом просмотре....

Started by yurtos, April 17, 2007, 06:07:06 PM

Previous topic - Next topic

yurtos

SMF 1.1.2 - поставлен с UTF-8 и smf_1-1-2_russian-utf8 пакетом.
проблема в том что при самом первом просмотре форума видны "?????" вместо русских букв. после повторной загрузки обычно все исправляется.


пробовал все полностью стирать и переставлять (форум и базу данных), проблема осталась.
тестировал под:
linux с konqueror, firefox
windows 2000 pro, IE 5.5
mac os x firefox

везде одинаковое безобразие.   
подскажите пожалуйста как решить.

p.s. спасибо переводчикам за проделанный труд.

†MavN†

в общем то дело скорее всего в настройках mysql.
Прочитайте документацию по данному вопросу
http://www.simplemachines.ru/index.php/topic,791.0.html
соотвественно приведенные примеры адаптируйте под свою кодировку

yurtos

по непонятной причине русский текст сохраняется в базе данных виде ????????. если изменить "value" вручную то при сохранении в броузере все отображается правильно. пример из базы:
   ???????? ??????? язык   
в этом примере последнее слово 'язык' сохранилось каким-то интересным образом, предпологаю html, но только это слово работает и показывается правильно во всех браузерах. если сделать перевод из html в utf8 из панели то данные принимают 'Общий раздел' вид и отображаются как ????? под windows ie6 и firefox и все ето при выбраной UTF-8 кодировке. под линуксом тоже не всегда правильно показывается.

на русском форуме (simplemachines.ru) ни одно из предложеных решений с сожалению не подошли или я что-то не правильно понял:
1. index.php
if (empty($db_persist))
$db_connection = @mysql_connect($db_server, $db_user, $db_passwd);
else
$db_connection = @mysql_pconnect($db_server, $db_user, $db_passwd);
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");

никаких изменений

2. 'перезаливать базу'
нет смысла. абсолютно пустая база, свежая инсталяция. на всякий случай переисталировал все несколько раз с UTF-8 опцией включенной

3. .htaccess file
`AddDefaultCharset UTF-8` строчка абсолютно никак не повлияла на отображение страницы

4.
в базе данных под каждой таблицей прописано
) TYPE=MyISAM;
если поменять под каждой таблицей на
) TYPE=MyISAM  DEFAULT CHARSET=utf8 DEFAULT COLLATE=utf8_general_ci;

то при загрузке базы обратно получаю:
Error

SQL-query :

CREATE TABLE `smf_sessions` (
session_id char( 32 ) NOT NULL default '',
last_update int( 10 ) unsigned NOT NULL default '',
DATA text NOT NULL default '',
PRIMARY KEY ( session_id )
) TYPE = MYISAM DEFAULTCHARSET = utf8 DEFAULTCOLLATE = utf8_general_ci

MySQL said:

Invalid default value for 'last_update'


5. вся инсталяция по инструкции:
hxxp:www.simplemachines.ru/index.php/topic,1266.0.html [nonactive]

6. запрос к базе:
Error
SQL-query :
ALTER DATABASE 'название базы' DEFAULTCHARACTER SET utf8 COLLATE utf8_general_ci
MySQL said:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULTCHARACTER SET utf8 COLLATE utf8_general_ci' at line 1



подскажите пожалуйста где дальше копать. совсем замучался.

†MavN†

Читайте внимательно ! Там нужно еще и SSI.php и в случае установки install.php править!

Advertisement: