1

Тема: Крах попытки подружить "локаль" и "сервер". Заблудился...

Сайт на Виндовом израильском хостинге...
После "редизайна", проводившегося на "локали", в сетевой версии сайта пострадали кодировки. Вместо иврита и сообщений в кодировке отличной от ср1251 выводятся "ужасные крякозяблы"..
Прочитал все!! Понял - половину.. Мало.
Танцы с бубном не помогают... Решил обратиться к специалистам..
По моему, малокомпетентоному, мнению - дело в базе.. совершившей путешествие "туда-обратно"..
Как восстановить порушенное?

Конфигурации:

Сервер:

character_set_client        utf8
character_set_connection    utf8
character_set_database        cp1251
character_set_results        utf8
character_set_server        utf8
character_set_system        utf8


Локаль:

character_set_client        cp1251
character_set_connection    cp1251
character_set_database        cp1251
character_set_results        cp1251
character_set_server        cp1251
character_set_system        utf8

2

Re: Крах попытки подружить "локаль" и "сервер". Заблудился...

Iron_Rat
Уточните задачу. Для начала, настройки локального сервера должны соответствовать удаленным, иначе необходима переконвертация перед импортом. Как я понял вы локально заполняли БД в кодировке cp1251. Но зачем, если используется иврит? Было бы не плохо понять в какой кодировке данные теперь лежат в БД. И в какой кодировке вообще вам надо хранить данные? Какой скрипт используется?

3

Re: Крах попытки подружить "локаль" и "сервер". Заблудился...

Уточните задачу. Для начала, настройки локального сервера должны соответствовать удаленным, иначе необходима переконвертация перед импортом. Как я понял вы локально заполняли БД в кодировке cp1251. Но зачем, если используется иврит? Было бы не плохо понять в какой кодировке данные теперь лежат в БД. И в какой кодировке вообще вам надо хранить данные? Какой скрипт используется?

Начну с последнего - сайт на Joomla 1.0.10

"сервер"
PHP Version 4.4.4
phpMyAdmin 2.6.0-pl3
MySQL 4.1.18-nt

"локаль"
PHP Version 4.4.4
phpMyAdmin 2.6.1
MySQL 4.1.16-max

(денвер установленный по умолчанию)

Беда в том что база, изначально, была перенесена с хостинга на локал без каких-либо правок-конвертирований... Аналогично была проведена и обратная процедура... (

4

Re: Крах попытки подружить "локаль" и "сервер". Заблудился...

Iron_Rat
Все еще не понял какая кодировка вам нужна, cp1251, utf8 или иврит?
Как вариант - это привести настройки Денвера в соответствие с настройками удаленного сервера и отредактировать сайт по новой. Но если этот вариант не подходит, объясните в какой кодировке должны находится данные на удаленном сервере и в какой они находятся сейчас на локальном, чтобы мы могли помочь вам в переконвертации данных.

И еще вопрос, дамп БД вы делали и импортировали стредствами Joomla или phpMyAdmin?

5

Re: Крах попытки подружить "локаль" и "сервер". Заблудился...

Доброе время суток всем!Я только не давно научился пользоваться базой данных и то поверхностно,но столкнулся с проблемой я копирую текст в таблицу,текст правда на иврите,он копируется всё нормалбно но как только нажимаю обзор табдицы он мне выдает какой-то код а не нормальный текст а если мне надо поменять одно слово мне надо переписывать весь текст.
я перерыл поисковики всё говорят надо кодировку поменять и пишут какие-то коды а куда эти коды вставлять и где я не понимаю.объясните пожалуста доходчивым языком что и как делать кому не сложно.буду очень признателен!

6

Re: Крах попытки подружить "локаль" и "сервер". Заблудился...

Lehin
Покажите пример того что видите в phpMyAdmin изначально, и что получается после редакции.
Обратите внимание на кодировку базы данных и таблицы содержащей текст на иврите. Если кодировка не Юникод (utf8), то там должно быть установлено hebrew_general_ci.

7

Re: Крах попытки подружить "локаль" и "сервер". Заблудился...

http://www.dializa.nm.ru/kodirovka.jpg Вижу я вот это но что самое странное когда загружаю в браузере страницу все показывает нормально.Весь вопрос в том что я не знаю как посмотреть кодировку таблицы да и базы в целом и как её поменять!если можешь объясни ддоходчиво потому что я еще совсем новичок в этом!

8

Re: Крах попытки подружить "локаль" и "сервер". Заблудился...

Выберите в phpMyAdmin просмотр структуры БД и посмотрите столбец "Сравнение", в нем будут указаны кодировки таблиц, а в самом низу кодировка БД.

Такой вид символо как у вас, означает, что они находятся в Юникоде (utf8) в виде html-сущностей.
Вы можете попробовать другой браузер? Признаться не понимаю как это получилось у вас.

9

Re: Крах попытки подружить "локаль" и "сервер". Заблудился...

Я захожу в структуру но там нет столбца сравнение!где его найти можешь выслать картинку хотя бы.браузер другой попробовал не помогло!заранее спасибо!

10

Re: Крах попытки подружить "локаль" и "сервер". Заблудился...

Lehin
Отсутствие поля сравнения возможно только на старой версии MySQL, на которой возможна только глобальная установка кодировки в конфигурационном файле. Уточните версию MySQL.

11

Re: Крах попытки подружить "локаль" и "сервер". Заблудился...

вот моя версия mysql "MySQL 3.23.53-max" А это версия админа "phpMyAdmin 2.5.6" старая не старая не знаю!

12

Re: Крах попытки подружить "локаль" и "сервер". Заблудился...

Lehin
Версия MySQL - крайне старая и, как я говорил выше, не предполагает изменение кодировки уровня БД и таблиц.

Попробуйте в окне выполнения SQL запроса ввести следующее, чтобы узнать текущую глобальную кодировку (надеюсь на 3.23 это работает):

SHOW VARIABLES LIKE 'char%';

У вас есть доступ к конфигурационному файлу MySQL (my.cnf/my.ini)? Где находится MySQL, это: виртуальный хостинг, выделенный сервер, или домашний компьютер?

13

Re: Крах попытки подружить "локаль" и "сервер". Заблудился...

это домашний компьютер а где эти файлы находятся?я обновил версию phpmyadmin но всё равно не вижу этого сравнения!

Сообщение добавлено Wed Sep  3 22:44:17 2008
вот это мне выдает по запросу:
character_set    cp1251
character_sets    latin1 big5 czech euc_kr gb2312 gbk sjis tis620 ujis dec8 dos german1 hp8 koi8_ru latin2 swe7 usa7 cp1251 danish hebrew win1251 estonia hungarian koi8_ukr win1251ukr greek win1250 croat cp1257 latin5

14

Re: Крах попытки подружить "локаль" и "сервер". Заблудился...

Lehin
Обновить надо MySQL, а не phpMyAdmin, чтобы появилась возможность работать с кодировками уровня БД и таблиц. Учитывая домашний компьютер, крайне советую это сделать. Статья в помощь: Инструментарий веб-разработчика

Среди доступных кодировок отсутствует utf8, а данные со страницы идут у вас именно в utf8. Можно попробовать в конфигурационном файле MySQL (my.ini) поменять кодировку cp1251 (кирилица) на hebrew (иврит), затем исправить также, в html заголовке страницы скрипта, кодировку на иврит.

15

Re: Крах попытки подружить "локаль" и "сервер". Заблудился...

Спасибо большое за помощь!Всё получилось всё обновил всё работает!