Advanced search  

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Pages: [1] 2 3   Go Down

Author Topic: Кодировка - в конец запутался  (Read 54687 times)

0 Members and 1 Guest are viewing this topic.

bubastic

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 22
Кодировка - в конец запутался
« on: April 13, 2008, 07:53:50 pm »

CPG 1.14.16

Версия сервера: 5.0.51
MySQL-кодировка: UTF-8 Unicode (utf8)
Сопоставление соединения с MySQL: UTF8_unicode_ci
Базы данных: (CPG) utf8_general_ci

Сравнение: (когда выбираем БД, напротив назв. табл.)  cp1251_general_ci

в PHPMyAdmin / таблицы (albums) / обзор  -  абракодабра

В самом альбоме почти все отлично,
кодировка в броузере Auto-select / Unicode (UTF-8)
"ш" показывается,
во View Source на всех страницах - русский нормально
кроме:
Code: [Select]
[URL=http://radikal.ru/F/i024.radikal.ru/0804/1c/e8f3b3100c57.gif.html][IMG]http://i024.radikal.ru/0804/1c/e8f3b3100c57t.jpg[/img][/URL]
и во View Source этой страницы - русский аброкадабра, кроме
Code: [Select]
$bbcode_data .= '<tr><td>BB-code: [b]Картинка в тексте[/b][url][img][/url]</td></tr>';
$bbcode_data .= '<tr><td><INPUT class="incode" readonly="readonly" onclick="f2(this);" ondblclick=\'copy_clip("'.$name_url.'")\' value='.$img_url.'>
« Last Edit: January 19, 2009, 03:42:51 pm by Makc666 »
Logged

bubastic

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 22
Re: Кодировка - в конец запутался
« Reply #1 on: April 13, 2008, 07:57:42 pm »

опечатался CPG - 1.4.16
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Кодировка - в конец запутался
« Reply #2 on: April 14, 2008, 06:26:30 pm »

Прочитайте данную тему Кодировка в MySQL 4.1.* и MySQL 5.* повнимательнее...

Также не ясно, зачем у Вас "Сравнение: (когда выбираем БД, напротив назв. табл.)  cp1251_general_ci". 
« Last Edit: January 19, 2009, 03:50:21 pm by Makc666 »
Logged

bubastic

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 22
Re: Кодировка - в конец запутался
« Reply #3 on: April 14, 2008, 06:54:53 pm »

Вот этого я не знаю, как создалось, так создалось

Спасибо за линк, сейчас посмотрю, но перед тем как писать в этот пост проглядел посты и ФАКи и не нашел однозначных ответов, сплошная каша и мешанина.

Так-же сегодня проводил эксперемент две базы у хостера и на локале под денвером, одинаковые настройки
в одной Ш пишет, а в другой нет.
Копирую из той которая не пишет в ту которая пишет, Ш заменяется квадратом. Вручную преребиваю имя альбома и все ОК.
Делаю то=же на локале под Дневером фиг там, как был квадрат, так и остался :-(

SHOW VARIABLES LIKE 'character%
Variable_name  Value 
character_set_client utf8
character_set_connection utf8
character_set_database cp1251
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8

Для обоих баз.
Базы не конвертированные, а ставились нуля :-(


Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Кодировка - в конец запутался
« Reply #4 on: April 14, 2008, 07:08:16 pm »

Вы не все переменные привели.
Не хватает:
Code: [Select]
collation_connection utf8_general_ci
collation_database utf8_general_ci
collation_server utf8_general_ci

Попробуйте так.

Удалите базу галереи.

Создайте новую базу СРАЗУ с сравнением utf8_general_ci

Выполните для данной базы запрос:
SHOW VARIABLES LIKE 'character%

Переменные должны выглядеть вот так:
Code: [Select]
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir /usr/local/share/mysql/charsets/
collation_connection utf8_general_ci
collation_database utf8_general_ci
collation_server utf8_general_ci

Уже после этого устанавливайте галерею в эту созданную вручную базу...
« Last Edit: January 19, 2009, 03:50:11 pm by Makc666 »
Logged

bubastic

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 22
Re: Кодировка - в конец запутался
« Reply #5 on: April 14, 2008, 08:15:01 pm »

Сколько раз я уж так делал......
Да, что-же за ботва такая, остальные скрипты нормальн себя ведут, а CPG всю кровушку испил  ;D

Не выберая базы
character_set_client utf8   
character_set_connection utf8
character_set_database cp1251
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8

Выбрав БД CPG
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8

« Last Edit: January 19, 2009, 03:50:03 pm by Makc666 »
Logged

bubastic

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 22
Re: Кодировка - в конец запутался
« Reply #6 on: April 14, 2008, 08:21:16 pm »

1. Удалил 
2. Создал со сравнением utf8_general_ci

SHOW VARIABLES для базы

character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8
collation_connection utf8_general_ci
collation_database utf8_general_ci
collation_server cp1251_general_ci
« Last Edit: January 19, 2009, 03:49:12 pm by Makc666 »
Logged

bubastic

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 22
Re: Кодировка - в конец запутался
« Reply #7 on: April 14, 2008, 09:20:40 pm »

Изыскания: 

Для Денвера правим my.cnf
default-character-set = utf8 (было cp1251)
default-character-set = utf8 (было cp1251)
init-connect = "set names utf8" (было cp1251)

Решило проблему, т.е. получил:
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
collation_connection utf8_general_ci
collation_database utf8_general_ci
collation_server utf8_general_ci

В имеющейся базе полный хаос
При перебивке имени альбома, отображается везде (CPG/phpMyAdmin) по русски нормально
Ш отображается нормально

Теперь то, чего я не понял и внимание вопрос
1. при описаном случае используя charsetmgr.php, что во что конвертить, т.к. при всех вариантах кракозябры.
2. у хостера мне некто не разрешит изгалятся, что делать?
3. что делать с остальными базами, ведь весь мир не только CPG, т.е. я к тому что это не вариант
4. как создать/конвертировать базу в UTF8 имея доступ лишь phpMyAdmin

Извините за занудство, но просто хочется для себя, а может и для других все разложить по полочкам


В phpMyAdmin при добавлении
« Last Edit: January 19, 2009, 03:48:48 pm by Makc666 »
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Кодировка - в конец запутался
« Reply #8 on: April 14, 2008, 11:04:34 pm »

1. Удалил
2. Создал со сравнением utf8_general_ci 

SHOW VARIABLES для базы 

character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8
collation_connection utf8_general_ci
collation_database utf8_general_ci
collation_server cp1251_general_ci

Прочитайте тему Кодировка в MySQL 4.1.* и MySQL 5.* ЕЩЁ РАЗ повнимательнее!!!

Особенно второе сообщение:
http://forum.coppermine-gallery.net/index.php/topic,49624.msg238431.html#msg238431

Там есть ответ на данное ваше сообщение выше...

Изыскания:

Для Денвера правим my.cnf
default-character-set = utf8 (было cp1251)
default-character-set = utf8 (было cp1251)
init-connect = "set names utf8" (было cp1251)

Решило проблему, т.е. получил:
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
collation_connection utf8_general_ci
collation_database utf8_general_ci
collation_server utf8_general_ci

После этого Вам нужно:

  • Удалите базу галереи
  • Создайте новую базу СРАЗУ с сравнением utf8_general_ci
  • Уже после этого устанавливайте галерею в эту созданную вручную базу

В имеющейся базе полный хаос
При перебивке имени альбома, отображается везде (CPG/phpMyAdmin) по русски нормально
Ш отображается нормально
А что Вы хотели, чтобы там наступил порядок? :)
До ваших изменений в my.cnf как раз был полный хаос с записью в базу данных.
А вот теперь они пишутся правильно, но т.к. ваша база данных уже была создана с кодировкой cp1251, Вам нужно её удалить и пересоздать заново, как описано выше, - это наилучший вариант для Вас, т.к. я понимаю, что галерея у Вас свежая.

Теперь то, чего я не понял и внимание вопрос
1. при описаном случае используя charsetmgr.php, что во что конвертить, т.к. при всех вариантах кракозябры.
2. у хостера мне некто не разрешит изгалятся, что делать?
3. что делать с остальными базами, ведь весь мир не только CPG, т.е. я к тому что это не вариант
4. как создать/конвертировать базу в UTF8 имея доступ лишь phpMyAdmin

Извините за занудство, но просто хочется для себя, а может и для других все разложить по полочкам
1. charsetmgr.php Вам в исходном варианте тут никак не поможет.

2. Читайте ответ в первом абзаце данного поста, а точнее ответ по ссылке:
http://forum.coppermine-gallery.net/index.php/topic,49624.msg238431.html#msg238431

3. Не совсем понятно, где делать? У хостера или там, где Вы меняли, my.cnf.
У хостера ничего видно не делать. Там где меняли my.cnf - тут без деталей я Вам не буду "городить" ответ, т.к. он может Вас ещё сильнее запутать. Только учтите, что если Вы изменили my.cnf и при этом не конвертировали базы, то у Вас сейчас старая часть базы в одной кодировке, а новая часть пишется в другой кодировке - потом может быть очень плохо из-за этого.

4. Если честно, то никак. Нужно сливать базу через phpMyAdmin. Заливать на сервер с шелом. "Конвертировать" (преобразовавывать) через командную строку на сервере, где есть доступ к шелу (это наилучший вариант). И потом заливать в "правильную" базу через phpMyAdmin обратно.

В phpMyAdmin при добавлении
Что то Вы видно тут недописали :)
« Last Edit: January 19, 2009, 03:47:55 pm by Makc666 »
Logged

bubastic

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 22
Re: Кодировка - в конец запутался
« Reply #9 on: April 15, 2008, 08:13:19 am »

Подвожу итог того, что я понял.

Для новой базы
Если есть возможность править у хостера
Quote
cd /usr/ports/databases/mysql50-server/
make WITH_CHARSET=utf8 WITH_COLLATION=utf8_general_ci
make install


Если база раскорячена, т.е. "Переменная character_set_database не совпадает с другими переменными character_set_*,"
тогда нужно применять "патч" для файла
../include/functions.inc.php

т.е. конвертация будет динамически при подключении к БД, но данные и так будут хранится в раскорячке

Так?

Не понял Вашей фразы:
Quote
ИЛИ
вы конвертируете все таблицы и возможно данные в кодировку UTF (но это зависит от того, находятся ли данные уже в UTF или нет).
Второй метод самый лучший, но в нём от вас требуется, чтобы вы знали, в какой кодировке хранятся данные, а затем вы выполнили конвертацию с изменением или без изменения данных.

Code: [Select]
4. Если честно, то никак. Нужно сливать базу через phpMyAdmin. Заливать на сервер с шелом. "Конвертировать" (преобразовавывать) через командную строку на сервере, где есть доступ к шелу (это наилучший вариант). И потом заливать в "правильную" базу через phpMyAdmin обратно.
Можно поподробней?
« Last Edit: January 19, 2009, 03:47:18 pm by Makc666 »
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Кодировка - в конец запутался
« Reply #10 on: April 15, 2008, 10:44:50 am »

Подвожу итог того, что я понял.
 
Для новой базы
Если есть возможность править у хостера
Если база раскорячена, т.е. "Переменная character_set_database не совпадает с другими переменными character_set_*,"
тогда нужно применять "патч" для файла
../include/functions.inc.php

т.е. конвертация будет динамически при подключении к БД, но данные и так будут хранится в раскорячке

Так?
Нет, не так.
Вам нужно почитать в документации к MySQL разницу между 4.0 и 4.1.
http://dev.mysql.com/doc/refman/4.1/en/charset-upgrading.html
Quote
It is important to note that the “MySQL 4.0 character set” contains both character set and collation information in one single entity. Beginning in MySQL 4.1, character sets and collations are separate entities. Though each collation corresponds to a particular character set, the two are not bundled together.
+
MySQL 5.0 Reference Manual :: 9 Internationalization and Localization :: 9.1 Character Set Support
http://dev.mysql.com/doc/refman/5.0/en/charset.html

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

Не понял Вашей фразы:
Quote
4. Если честно, то никак. Нужно сливать базу через phpMyAdmin. Заливать на сервер с шелом. "Конвертировать" (преобразовавывать) через командную строку на сервере, где есть доступ к шелу (это наилучший вариант). И потом заливать в "правильную" базу через phpMyAdmin обратно.

Можно поподробней?
Т.к. кодировки были напутаны, то порядок такой:

1. Вы делаете обычный экспорт (т.е. ничего не меняя в его настройках) через phpMyAdmin в формате SQL (original.sql)
2. Заливает файл на хост с шелом
3. Выполняете команды
================================================
(с) Makc666

В первом окне консоли:

mysql -u root -p

DROP DATABASE `test1`;
DROP DATABASE `test2`;

CREATE DATABASE `test1` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE `test2` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;

use test2;

set names utf8; source /dumps/original.sql;

Во втором окне консоли:

mysqldump -u root -p --create-options --compatible=mysql40 --default-character-set=cp1251 test2 > /dumps/dump.sql

В первом окне консоли:

use test1;

set names cp1251; source /dumps/dump.sql;

Во втором окне консоли:

mysqldump -u root -p --create-options --default-character-set=cp1251 test1 > /dumps/newbase.sql

(с) Makc666
================================================
4. Получаете файл newbase.sql, который можно заливать куда угодно через phpMyAdmin.
Только нужно помнить, что базу нужно создать заранее с нужным сопоставлением.

P.S.
Всё выше перечисленно выполняется при условии:
Code: [Select]
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
collation_connection utf8_general_ci
collation_database utf8_general_ci
collation_server utf8_general_ci
« Last Edit: January 19, 2009, 03:46:52 pm by Makc666 »
Logged

bubastic

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 22
Re: Кодировка - в конец запутался
« Reply #11 on: April 15, 2008, 11:57:46 am »

Quote
Если подключение происходит с одной кодировкой, а база данных в другой кодировке, то скрипт должен говорить базе данных, что он записывает данных в базу в той самой другой кодировке.

Из примера ниже:
character_set_client utf8
character_set_connection utf8  - подключение
character_set_database cp1251  - база данных
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8

"скрипт должен говорить базе данных, что он записывает данных в базу в той самой другой (dbcharset) кодировке"
Code: [Select]
if ($CONFIG['dbcharset']) {
   mysql_query("SET NAMES '$CONFIG[dbcharset]'",$result);
  }

$CONFIG['dbcharset'] = "cp1251";

Теперь праильно?

т.е. БД UTF8, но хранит данные в cp1251?
« Last Edit: January 19, 2009, 03:46:48 pm by Makc666 »
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Кодировка - в конец запутался
« Reply #12 on: April 15, 2008, 06:23:10 pm »

Из примера ниже: 
character_set_client utf8
character_set_connection utf8  - подключение
character_set_database cp1251  - база данных
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8

"скрипт должен говорить базе данных, что он записывает данных в базу в той самой другой (dbcharset) кодировке"
Code: [Select]
if ($CONFIG['dbcharset']) {
   mysql_query("SET NAMES '$CONFIG[dbcharset]'",$result);
  }

$CONFIG['dbcharset'] = "cp1251";

Теперь праильно?
Если ставить с нуля, перед этим создав новую базу со сравнением cp1251_general_ci, то правильно.
Если не с нуля, то нужно сначала конвертировать базу, как я писал выше.

т.е. БД UTF8, но хранит данные в cp1251?
Я не совсем понимаю Ваш вопрос.
База данных хранится в cp1251 и подключение будет производиться по cp1251.
А UTF8 - это "кодировка" MySQL сервера по умолчанию.
« Last Edit: January 19, 2009, 03:46:44 pm by Makc666 »
Logged

bubastic

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 22
Re: Кодировка - в конец запутался
« Reply #13 on: April 15, 2008, 11:13:30 pm »

Не фига, не Ваша правда

Далее не вопрос, а констатация фактов, а возможно и руководство к действию

Все по порядку SbS

Show Variable
character_set_client utf8
character_set_connection utf8
character_set_database cp1251
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8
collation_connection utf8_general_ci
collation_database cp1251_general_ci
collation_server cp1251_general_ci

Создаю базу со сравнением UTF8_general_ci
отработался запрос CREATE DATABASE `coper` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Show Variable для "coper"
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8
collation_connection utf8_general_ci
collation_database utf8_general_ci
collation_server cp1251_general_ci

Добавляю в галерее русскими буквами альбом/названия файлов

В phpMyAdmin кракозабры, в галерее Ш показывает

патчу functions.inc.php

Поставил $CONFIG['dbcharset'] = "cp1251";
В галерее все по прежнему, Ш показывает, В phpMyAdmin кракозабры,
после пребивки русских слов без изменений

Поставил $CONFIG['dbcharset'] = "UTF8";
В галерее кракозябры "Шапочка ", в phpMyAdmin кракозабры,
Добавляю русский альбом/название файла - новое показывется правильно, в phpMyAdmin тоже ОК,
Перебиваю кракозабровое название первого альбома/файла - все Ок и в галерее и в phpMyAdmin

P.S. Перебивка аналогична конвертации
« Last Edit: January 19, 2009, 03:45:45 pm by Makc666 »
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Кодировка - в конец запутался
« Reply #14 on: April 16, 2008, 10:08:03 pm »

Не фига, не Ваша правда
Фига, не фига - это все от воспитания зависит.
Если вы нервничаете и злитесь, то обычно в такие моменты помогает прогулка по окрестности.

Далее не вопрос, а констатация фактов, а возможно и руководство к действию

Все по порядку SbS

Show Variable
character_set_client utf8   
character_set_connection utf8
character_set_database cp1251
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8
collation_connection utf8_general_ci
collation_database cp1251_general_ci
collation_server cp1251_general_ci
Для ситуации выше нужна:
$CONFIG['dbcharset'] = "cp1251";

Создаю базу со сравнением UTF8_general_ci
отработался запрос CREATE DATABASE `coper` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Show Variable для "coper"
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8
collation_connection utf8_general_ci
collation_database utf8_general_ci
collation_server cp1251_general_ci
Для данной ситуации выше нужна:
$CONFIG['dbcharset'] = "utf8";

Добавляю в галерее русскими буквами альбом/названия файлов

В phpMyAdmin кракозабры, в галерее Ш показывает

патчу functions.inc.php

Поставил $CONFIG['dbcharset'] = "cp1251";
В галерее все по прежнему, Ш показывает, В phpMyAdmin кракозабры,
после пребивки русских слов без изменений
И правильно, что не будет работать.

Вы что не видите, что во втором случае у Вас переменная:
character_set_database utf8
вообще-то utf8 равна, а не cp1251.

В вашем сообщении, как и во всей теме:
...
character_set_database cp1251
...
речь вообще-то идёт о cp1251, а не о UTF8

Поставил $CONFIG['dbcharset'] = "UTF8";
В галерее кракозябры "Шапочка ", в phpMyAdmin кракозабры,
Добавляю русский альбом/название файла - новое показывется правильно, в phpMyAdmin тоже ОК,
Перебиваю кракозабровое название первого альбома/файла - все Ок и в галерее и в phpMyAdmin
И правильно кракозябры, потому что база у вас до этого писалась неправильно, если Вы всё точно описали.

P.S. Перебивка аналогична конвертации
Если Вы говорите о ручной перебивке, то конечно, Вы можете перебивать все поля столько, сколько вашей душе угодно.
« Last Edit: January 19, 2009, 03:45:35 pm by Makc666 »
Logged

bubastic

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 22
Re: Кодировка - в конец запутался
« Reply #15 on: April 17, 2008, 07:22:16 am »

Quote
Фига, не фига - это все от воспитания зависит.
Если вы нервничаете и злитесь, то обычно в такие моменты помогает прогулка по окрестности.

С чего Вы взяли, что я нервничаю, я просто описал процес поиска и решения моей проблемы, а вдруг кому сгодится.
А Вам в любом случае респект за правильные мысли и советы. Токась, Вы как-то объясняете, что простое в сложное превращается  ;D
 
« Last Edit: January 19, 2009, 03:45:26 pm by Makc666 »
Logged

LeaX

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Posts: 96
    • Lost Jack and Kate
Re: Кодировка - в конец запутался
« Reply #16 on: January 18, 2009, 08:34:53 pm »

Читала-читала. Чувствую - мозги уже дымятся  :o

У меня картина еще разнообразнее чем здесь - аж 3 кодировка
Quote
character_set_client     utf8
character_set_connection    utf8
character_set_database    latin1
character_set_filesystem    binary
character_set_results    utf8
character_set_server    latin1
character_set_system    utf8
character_sets_dir    /usr/share/mysql/charsets/
collation_connection    utf8_unicode_ci
collation_database    latin1_swedish_ci
collation_server    latin1_swedish_ci

Почему три? Ведь здесь укзаны две? Да потому, что вообще-то я переношу готовую галерею, которая у меня выводится на прежнем месте в win-1521, база у нее в utf8 (я и экспортировала из старой базы ее в utf8 и открывается в новой базе она в utf8)

Старая pma у меня 2.11.9.1 (сервер 4.1.22-log), а новая 2.11.3 (5.0.37-standard)
На старом месте у меня кстати тоже была MySQL-кодировка:  UTF-8 Unicode (utf8)
А Сопоставление соединения с MySQL: utf-8_unicode_ci
При этом сравнение в таблицах - cp1251_general_ci

У меня такой вопрос - верно ли будет в этом случае применить вот этот способ
http://forum.coppermine-gallery.net/index.php/topic,49624.msg238431.html#msg238431

И почему когда я вставляю в functions.inc.php этот код

Quote
diff -crbBN include/functions.inc.php include/functions.inc.php
*** include/functions.inc.php   Tue Nov  6 07:48:00 2007
--- include/functions.inc.php   Wed Jan  9 12:44:29 2008
***************
*** 184,189 ****
--- 184,192 ----
          }
          if (!mysql_select_db($CONFIG['dbname']))
                  return false;
+                 if ($CONFIG['dbcharset']) {
+                   mysql_query("SET NAMES '$CONFIG[dbcharset]'",$result);
+                 }
          return $result;
  }

У меня вылазит вот такая ошибка
Quote
Parse error: syntax error, unexpected T_INCLUDE in /home/admin/domains/lostjate.lgg.ru/public_html/gallery/include/functions.inc.php on line 3037
« Last Edit: January 19, 2009, 03:45:22 pm by Makc666 »
Logged

LeaX

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Posts: 96
    • Lost Jack and Kate
Re: Кодировка - в конец запутался
« Reply #17 on: January 19, 2009, 08:13:09 am »

Откуда у меня эта кодировка latin1 взялась вообще не пойму. На старом месте cp1251  :P
Logged

LeaX

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Posts: 96
    • Lost Jack and Kate
Re: Кодировка - в конец запутался
« Reply #18 on: January 19, 2009, 08:44:19 am »

Даа, вот что на старом месте... откуда эти латины взялись? Экпортировала базу в utf8
Quote
character_set_client     utf8
character_set_connection    utf8
character_set_database    cp1251
character_set_results    utf8
character_set_server    cp1251
character_set_system    utf8
character_sets_dir    /usr/local/share/mysql/charsets/
collation_connection    utf8_unicode_ci
collation_database    cp1251_general_ci
collation_server    cp1251_general_ci
Logged

LeaX

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Posts: 96
    • Lost Jack and Kate
Re: Кодировка - в конец запутался
« Reply #19 on: January 19, 2009, 08:49:43 am »

М-даа, проверила - это у меня оказывается на новом сервере такая вот ерунда.
На старом была cp1251, а на новом этот латин
 ??? не пойму что мне делать. Латин мне не нужен, потому что это же выходит не русская кодировка?  ???
А мне нужна русская. Хоть какая-нибудь
Logged
Pages: [1] 2 3   Go Up
 

Page created in 0.05 seconds with 18 queries.