Перейти к содержанию

Ошибка с "И" и "Ш"


yanker

Рекомендуемые сообщения

Добрый день!

Форум 3.3.0.

Автоматически заменяет буквы "И" и "Ш" на "�?". Как это исправить? Заранее спасибо!

07. Tango.mp3

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

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 прописать:


@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]

Ссылка на комментарий
Поделиться на другие сайты

Тогда проси хостера чтобы исправил тебе кодировку!

Ссылка на комментарий
Поделиться на другие сайты

Написал хостеру, получил ответ!

Регулировать кодировку сайта Вы можете при помощи файла .htaccess -

__www.htaccess.net.ru/doc/AddType-charset/CharsetDefault.php.

В .htaccess прописал AddDefaultCharset utf8, ошибка осталась. Может не то прописал?

Ссылка на комментарий
Поделиться на другие сайты

Добавь туда вот это:


AddDefaultCharset utf-8
<IfModule mod_charset.c>
CharsetRecodeMultipartForms Off
CharsetSourceEnc utf-8
</IfModule>
[/CODE]

Ссылка на комментарий
Поделиться на другие сайты

Система - Системные настройки - Безопасность - Удалять коды chr(0xCA) при вводе? должно стоять на "нет"

Ссылка на комментарий
Поделиться на другие сайты

Этот параметр стоит на "Нет".

Хостер еще написал :

Изменить инструкции сервера по кодировке

интерпретации содержимого броузером, Вы можете разместив в каталоге сайта

файл .htaccess с соответствующие директивы:

AddDefaultCharset utf-8

AddCharset utf-8

<ifModule mode_charset.c>

CharsetSourceEnc utf-8

CharsetDefault unf-8

</ifModule>

php_value default_charset "utf-8"

Все делаю как надо, а ошибка все равно остается.

Ссылка на комментарий
Поделиться на другие сайты

После внесения этих директив как выглядят значения системных настроек?

Ссылка на комментарий
Поделиться на другие сайты

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 надо что-то прописывать?

Ссылка на комментарий
Поделиться на другие сайты

__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?

Ссылка на комментарий
Поделиться на другие сайты

в config_global.php найти:


$INFO['sql_tbl_prefix'] = 'ibf_';
Ниже добавить:

$INFO['sql_charset'] = 'utf8';
[/code]

Ссылка на комментарий
Поделиться на другие сайты

прописываю в 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]

то отображается, но ошибки с "И" и "Ш" остаются!

Ссылка на комментарий
Поделиться на другие сайты

ппц! Дай мне доступ в админку и на FTP в ЛС, посмотрим что там у тебя!

Ссылка на комментарий
Поделиться на другие сайты

Обязательно сделайте бекап БД.

Судя по всему тут получился так называемый "дважды" 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 нужно удалить из Кеша все посты (сообщения). После этого эти буквы в сообщениях должны отображаться правильно. Отпишитесь о результатах на примере таблиц постов. Если все успешно - подскажу по таблицам, что и где править.

Обязательно сделайте бекап БД.

Ссылка на комментарий
Поделиться на другие сайты

Затронуто строк: 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 ) ) ) ;

Ссылка на комментарий
Поделиться на другие сайты

БД судя по результатам без ошибок. Надо смотреть настройки хостинга, имхо.

Ссылка на комментарий
Поделиться на другие сайты

  • 11 месяцев спустя...

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'");

Куда это добавить? В смысле просто в конец? Или в начало? 

Изменено пользователем madbatman
Ссылка на комментарий
Поделиться на другие сайты

Короче вот способ который помог мне:

 

1) Сливаем бд SypexDumper
2) Распаковываем архив, открываем файл bla-bla-bla.sql текстовым редактором с поддержкой utf, например Bred3.
3) Заменяем все вхождения CHARSET=cp1251 или CHARSET=winows-1251 на CHARSET=utf8.
4) Файл -> Сохранить как... -> (Кодировка: utf8, Тип файла: Все файлы, и сохраняем в этот же файл.
3) заливаем файл bla-bla-bla.sql обратно в папку бэкап и восстанавливаем в  НОВУЮ  базу из него SypexDumperом

 

post-7636-0-75142000-1366089116_thumb.pn

 

 

 

 

Изменено пользователем madbatman
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...