yanker Posted April 24, 2012 Report Share Posted April 24, 2012 Добрый день! Форум 3.3.0. Автоматически заменяет буквы "И" и "Ш" на "�?". Как это исправить? Заранее спасибо! 07. Tango.mp3 Quote Link to comment Share on other sites More sharing options...
Respected Posted April 24, 2012 Report Share Posted April 24, 2012 yanker,в админцентре: Поддержка --> Управление базой данных --> Значения системных настроек. Сравни свои переменные с теми, какие должны быть: character_set_client..........utf8 character_set_connection..utf8 character_set_database.....utf8 character_set_results........utf8 character_set_server.........utf8 character_set_system.......utf8 Quote Link to comment Share on other sites More sharing options...
yanker Posted April 24, 2012 Author Report Share Posted April 24, 2012 character_set_client cp1251 character_set_connection cp1251 character_set_database utf8 character_set_results cp1251 character_set_server cp1251 character_set_system utf8 Как можно изменить эти настройки? Quote Link to comment Share on other sites More sharing options...
Respected Posted April 24, 2012 Report Share Posted April 24, 2012 Попробуй в conf_global.php прописать: @mysql_query("SET NAMES 'utf8'"); @mysql_query("SET collation_connection='utf8_general_ci'"); @mysql_query("SET collation_server='utf8_general_ci'"); @mysql_query("SET character_set_client='utf8'"); @mysql_query("SET character_set_connection='utf8'"); @mysql_query("SET character_set_results='utf8'"); @mysql_query("SET character_set_server='utf8'"); [/CODE] yanker 1 Quote Link to comment Share on other sites More sharing options...
yanker Posted April 24, 2012 Author Report Share Posted April 24, 2012 Ошибка все равно осталась. Quote Link to comment Share on other sites More sharing options...
Respected Posted April 24, 2012 Report Share Posted April 24, 2012 Тогда проси хостера чтобы исправил тебе кодировку! Quote Link to comment Share on other sites More sharing options...
yanker Posted April 28, 2012 Author Report Share Posted April 28, 2012 Написал хостеру, получил ответ! Регулировать кодировку сайта Вы можете при помощи файла .htaccess - __www.htaccess.net.ru/doc/AddType-charset/CharsetDefault.php. В .htaccess прописал AddDefaultCharset utf8, ошибка осталась. Может не то прописал? Quote Link to comment Share on other sites More sharing options...
Respected Posted April 28, 2012 Report Share Posted April 28, 2012 Добавь туда вот это: AddDefaultCharset utf-8 <IfModule mod_charset.c> CharsetRecodeMultipartForms Off CharsetSourceEnc utf-8 </IfModule> [/CODE] yanker 1 Quote Link to comment Share on other sites More sharing options...
yanker Posted April 28, 2012 Author Report Share Posted April 28, 2012 Ошибка осталась! И упорно переписывает "И" в "�?". Quote Link to comment Share on other sites More sharing options...
Adepteg Posted April 28, 2012 Report Share Posted April 28, 2012 Система - Системные настройки - Безопасность - Удалять коды chr(0xCA) при вводе? должно стоять на "нет" Respected 1 Quote Link to comment Share on other sites More sharing options...
yanker Posted May 2, 2012 Author Report Share Posted May 2, 2012 Этот параметр стоит на "Нет". Хостер еще написал : Изменить инструкции сервера по кодировке интерпретации содержимого броузером, Вы можете разместив в каталоге сайта файл .htaccess с соответствующие директивы: AddDefaultCharset utf-8 AddCharset utf-8 <ifModule mode_charset.c> CharsetSourceEnc utf-8 CharsetDefault unf-8 </ifModule> php_value default_charset "utf-8" Все делаю как надо, а ошибка все равно остается. Quote Link to comment Share on other sites More sharing options...
Respected Posted May 2, 2012 Report Share Posted May 2, 2012 После внесения этих директив как выглядят значения системных настроек? Quote Link to comment Share on other sites More sharing options...
yanker Posted May 2, 2012 Author Report Share Posted May 2, 2012 character_set_client cp1251 character_set_connection cp1251 character_set_database utf8 character_set_results cp1251 character_set_server cp1251 character_set_system utf8 В conf_global.php надо что-то прописывать? Quote Link to comment Share on other sites More sharing options...
yanker Posted May 3, 2012 Author Report Share Posted May 3, 2012 __forums.modx.com/thread/63038/1055-1088-1086-1073-1083-1077-1084-1072-1089-1073-1091-1082-1074-1072-1084-1080-1048-1080-1096#dis-post-371987 Это как то можно применить к ipb? Quote Link to comment Share on other sites More sharing options...
Respected Posted May 3, 2012 Report Share Posted May 3, 2012 Можно! yanker 1 Quote Link to comment Share on other sites More sharing options...
yanker Posted May 3, 2012 Author Report Share Posted May 3, 2012 Подскажите, пожалуйста, как? Quote Link to comment Share on other sites More sharing options...
Respected Posted May 3, 2012 Report Share Posted May 3, 2012 в config_global.php найти: $INFO['sql_tbl_prefix'] = 'ibf_'; Ниже добавить: $INFO['sql_charset'] = 'utf8'; [/code] yanker 1 Quote Link to comment Share on other sites More sharing options...
yanker Posted May 4, 2012 Author Report Share Posted May 4, 2012 прописываю в config_global.php $INFO['sql_charset'] = 'utf8'; выдает ошибку Your settings could not be read by IP.Board. This is a fatal error and IP.Board cannot function while this issue persists. This issue is generally caused by changing your character set in the ACP to one that does not support data stored in the rest of your settings, or by restoring a database backup/completing a server transfer and importing your database tables using the wrong character set or collation. You should contact IPS Technical Support for further assistance.[/code] если прописываю [CODE]$INFO['sql_charset'] = '';[/code] то отображается, но ошибки с "И" и "Ш" остаются! Quote Link to comment Share on other sites More sharing options...
Respected Posted May 4, 2012 Report Share Posted May 4, 2012 ппц! Дай мне доступ в админку и на FTP в ЛС, посмотрим что там у тебя! Quote Link to comment Share on other sites More sharing options...
nexus409 Posted May 4, 2012 Report Share Posted May 4, 2012 Обязательно сделайте бекап БД. Судя по всему тут получился так называемый "дважды" utf-8 Скорее всего неотображаемые символы "побились" в самой БД и вас спасёт только замена обратно на читаемые. /* * Исправление кодировки букв "ш" и "И" в MYSQL * автор: Nc_Soft * 18.07.09 */ /* Частенько встречается при переносе бд, либо при шаманстве с кодировками буквы "ш" и "И" оказываются битыми (речь идет о utf-8 конечно) буква "ш" = chr(209).chr(63) / правильно chr(209).chr(136) буква "И" = chr(208).chr(63) / правильно chr(208).chr(152) Чтобы пофиксить делаем 2 запроса */ UPDATE `имя_таблицы` SET `поле` = REPLACE( `поле`, CONCAT( CHAR(209), CHAR(63) ), CONCAT( CHAR(209), CHAR(136) ) ); UPDATE `имя_таблицы` SET `поле` = REPLACE( `поле`, CONCAT( CHAR(208), CHAR(63) ), CONCAT( CHAR(208), CHAR(152) ) ); Например исправим буквы во всех сообщениях: это таблица posts и поле post, соответственно вам надо сделать два запроса: UPDATE `posts` SET `post` = REPLACE( `post`, CONCAT( CHAR(209), CHAR(63) ), CONCAT( CHAR(209), CHAR(136) ) ); и UPDATE `posts` SET `post` = REPLACE( `post`, CONCAT( CHAR(208), CHAR(63) ), CONCAT( CHAR(208), CHAR(152) ) ); Лучше всего это делать в phpMyAdmin, тк будет выведен результат запроса и станет понятно, исправляются символы или нет. Далее в ACP нужно удалить из Кеша все посты (сообщения). После этого эти буквы в сообщениях должны отображаться правильно. Отпишитесь о результатах на примере таблиц постов. Если все успешно - подскажу по таблицам, что и где править. Обязательно сделайте бекап БД. Respected 1 Quote Link to comment Share on other sites More sharing options...
yanker Posted May 5, 2012 Author Report Share Posted May 5, 2012 Затронуто строк: 0 (запрос занял 0.0079 сек.) SQL-запрос: UPDATE `mba22m_posts` SET `post` = REPLACE( `post` , CONCAT( CHAR( 209 ) , CHAR( 63 ) ) , CONCAT( CHAR( 209 ) , CHAR( 136 ) ) ) ; Затронуто строк: 0 (запрос занял 0.0064 сек.) SQL-запрос: UPDATE `mba22m_posts` SET `post` = REPLACE( `post` , CONCAT( CHAR( 208 ) , CHAR( 63 ) ) , CONCAT( CHAR( 208 ) , CHAR( 152 ) ) ) ; Quote Link to comment Share on other sites More sharing options...
nexus409 Posted May 7, 2012 Report Share Posted May 7, 2012 БД судя по результатам без ошибок. Надо смотреть настройки хостинга, имхо. Quote Link to comment Share on other sites More sharing options...
madbatman Posted April 15, 2013 Report Share Posted April 15, 2013 (edited) yanker,в админцентре: Поддержка --> Управление базой данных --> Значения системных настроек. Сравни свои переменные с теми, какие должны быть: Вот и я попал на эти Ш и И ! Проверил у меня так: character_set_client cp1251 character_set_connection cp1251 character_set_database cp1251 character_set_filesystem binary character_set_results cp1251 character_set_server cp1251 character_set_system utf8 character_sets_dir /.ro/usr/local/mysql/share/mysql/charsets/ collation_connection cp1251_general_ci collation_database cp1251_general_ci collation_server cp1251_general_ci Как исправить? Подскажите пожалуйста. Попробуй в conf_global.php прописать: @mysql_query("SET NAMES 'utf8'"); @mysql_query("SET collation_connection='utf8_general_ci'"); @mysql_query("SET collation_server='utf8_general_ci'"); @mysql_query("SET character_set_client='utf8'"); @mysql_query("SET character_set_connection='utf8'"); @mysql_query("SET character_set_results='utf8'"); @mysql_query("SET character_set_server='utf8'"); Куда это добавить? В смысле просто в конец? Или в начало? Edited April 15, 2013 by madbatman Quote Link to comment Share on other sites More sharing options...
madbatman Posted April 16, 2013 Report Share Posted April 16, 2013 (edited) Короче вот способ который помог мне: 1) Сливаем бд SypexDumper2) Распаковываем архив, открываем файл bla-bla-bla.sql текстовым редактором с поддержкой utf, например Bred3.3) Заменяем все вхождения CHARSET=cp1251 или CHARSET=winows-1251 на CHARSET=utf8.4) Файл -> Сохранить как... -> (Кодировка: utf8, Тип файла: Все файлы, и сохраняем в этот же файл.3) заливаем файл bla-bla-bla.sql обратно в папку бэкап и восстанавливаем в НОВУЮ базу из него SypexDumperом Edited April 16, 2013 by madbatman Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.