1 (изменено: kdn, 2006-11-05 18:18:26)

Тема: Как изменить сравнение таблиц

Пробовал ставить движок phpbb 3.0 Olympus (язык английский, но заменил русские ленг-файлы), сменил кодировку в скриптах на Windows-1251, изменил в таблицах полей в MySQL сравнение на cp1251_general_ci     везде, но не смог с помощью phpmyadmin сменить кодировку (сравнение) непосредственно самих таблиц, поэтому ввод текста отображается нормально, но поиск ни по русским буквам ни по английским ничего не ищет
[img=http://img249.imageshack.us/img249/3430/1zr6.jpg]

Как это сделать (сменить сравнение)???

2

Re: Как изменить сравнение таблиц

Сначала перекодируйте все таблицы (поочерёдно) с помощью данного запроса:

ALTER TABLE `table_name` CONVERT TO CHARACTER SET cp1251 COLLATE cp1251_general_ci

Затем смените кодировку самой БД:

ALTER DATABASE `db_name` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci

Но здесь есть несколько подводных камней. Во первых, необходимо удостовениться в том что данные лежат в latin1, иначе при перекодировке выйдет ерунда. Во вторых phpbb 3.0 категорически не рекомендуется устанавливать в виде рабочего форума, из-за его откровенной сырости. В третьих, языковых файлов для phpBB 3.0 я вообще не видел. По крайней мере на официальном сайте их не нашёл.

3

Re: Как изменить сравнение таблиц

В третьих, языковых файлов для phpBB 3.0 я вообще не видел. По крайней мере на официальном сайте их не нашёл.

Да я пока его тестирую на локалхосте, перевод сырой здесь http://www.phpbbguru.net/community/view … 8498#98498 и здесь http://www.phpbbguru.net/community/view … 000#100000 , если это вообще можно нормальным переводом назвать: грамматические, стилистические и даже фактические ошибки
Вы правы лучше от официального релиза и перевода такой движок не ставить.
Спасибо за помощь по phpmyadmin.

4

Re: Как изменить сравнение таблиц

А как полностью сменить сравнение БД с latin1_swedish_ci на utf8_general_ci?
Полагаю, почти так же, как во втором посте данной темы?

5

Re: Как изменить сравнение таблиц

DarkMister сказал:

А как полностью сменить сравнение БД с latin1_swedish_ci на utf8_general_ci?
Полагаю, почти так же, как во втором посте данной темы?

Советую воспользоваться проверенным способом.

Экспортируйте данные в .sql дамп, откройте его текстовым редактором (рекомендую Notepad++) и обыкновенной текстовой заменой поменяйте все latin1_swedish_ci на utf8_general_ci, и latin1 на utf8.

Обязательное условие - кириллица в дампе должна быть читаема, а не в виде крякозябов.

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

6

Re: Как изменить сравнение таблиц

Hanut, спасибо за ответ! Заменил с помощью Notepad++ все "latin1" на "utf8". Теперь везде нужное сравнение "utf8_general_ci", но последняя строка во вкладке "Структура" выглядит так:

  Таблиц: 10       Всего      144       MyISAM       latin1_swedish_ci      76.4 КБ      0 Байт

Скриншот: http://s13.radikal.ru/i186/1007/b6/6eaa4f7be3e8.jpg
Хотя сверху во всех таблицах вместо "latin1_swedish_ci" стоит "utf8". Теперь, полагаю, нужно изменить кодировку всей БД с помощью SQL-запроса "ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"?
Или сделать что-то другое?

7

Re: Как изменить сравнение таблиц

DarkMister сказал:

Теперь, полагаю, нужно изменить кодировку всей БД с помощью SQL-запроса "ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"?

Совершенно верно. Этот запрос выставит изначальную кодировку базы данных, то есть все вновь создаваемые таблицы, если у них явно не задана кодировка, будут принимать кодировку установленную для БД. На уже существующие таблицы это никак не скажется, поэтому можно смело выполнять этот запрос.

8

Re: Как изменить сравнение таблиц

Спасибо, всё получилось!:D
Похоже перспектива создания блога на бесплатном хостинге вполне реальна:)

9

Re: Как изменить сравнение таблиц

У меня обратно дамп не импортируется, как быть?

10

Re: Как изменить сравнение таблиц

ngc888
Покажите выводимые при этом ошибки.

Можете попробовать открыть файл дампа (.sql) текстовым редактором и перенести таблицы по одной, вставляя их в окно выполнения SQL запроса в phpMyAdmin.

11

Re: Как изменить сравнение таблиц

SQL-запрос:

--
-- Дамп данных таблицы `com_vtiger_workflows`
--
INSERT INTO  `com_vtiger_workflows` (  `workflow_id` ,  `module_name` ,  `summary` ,  `test` ,  `execution_condition` )
VALUES ( 1,  'Invoice',  'UpdateInventoryProducts On Every Save',  '[{"fieldname":"subject","operation":"does not contain","value":"`!`"}]', 3 ) ;


Ответ MySQL:

#1062 - Duplicate entry '1' for key 1

Вот что говорит.
У меня 250 таблиц, я умру тут вставлять, да и я полный делитант.

12

Re: Как изменить сравнение таблиц

Желательно еще увидеть структуру таблицы com_vtiger_workflows. Но по ошибке ясно, что поле workflow_id является первичным ключом и должно обязательно иметь разные значения для строк, в то время, как получается дубль.

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

Проверьте, есть ли в дампе запросы на создание структур таблиц, которые должны начинаться с [mono]CREATE TABLE[/mono]. Если они есть, то перед импортом дампа необходимо удалить из БД все таблицы, которые должны быть добавлены из него.

13

Re: Как изменить сравнение таблиц

Я уже так сделал, всё удалил и залил из дампа. Всё получилось. Но вот русификатор всё равно не встал после этого.

14

Re: Как изменить сравнение таблиц

ngc888
Попробуйте обратиться к тому, кто этот русификатор делал.

15

Re: Как изменить сравнение таблиц

ngc888, какие галочки вы ставите при экспортировании базы в дамп?

16 (изменено: DmitryV, 2010-08-24 00:02:49)

Re: Как изменить сравнение таблиц

kdn
Не советую менять на phpBB локаль на 1251 она там не нужна, все прекрасно работает в charset=UTF-8 и дружит с русским текстом и поиском, поверьте с ней у Вас будет меньше проблем.

Дистрибутив берем - http://www.phpbb.com/downloads/ phpBB 3.0.7-PL1
Русский язык нормальный к темам здесь - http://www.phpbbguru.net/  или http://www.bb3x.ru/  там же берем русские картинки к темам.

или скачайте с меня все выложил на пару недель.
http://www.it-favourite.ru/phpBB-3.0.7-PL1.zip
русский язык:
http://www.it-favourite.ru/lang_ru.zip
русские картинки:
http://www.it-favourite.ru/images_ru.zip
или вот ещё картинки:
http://www.it-favourite.ru/prosilver_ru.zip
http://www.it-favourite.ru/subsilver2_ru.zip

Как все это работает с русским текстом можете посмотреть на http://forum.it-favourite.ru/

ngc888
Что за русификатор?