Перевод базы в другую кодировку - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Ответ
Опции темы
Непрочитано 26.07.2016, 15:49   #1
Заинтересовавшийся

Автор темы (Топик Стартер) Перевод базы в другую кодировку

Всем привет. Захотел иметь возможность использовать русские имена в игре. Нашёл на форуме тему, сделал по ней. Спросил там, но потом увидел, что там последняя активность 4 года назад была.
Отрыл бд в mysql workbench.
Для базы сделал alter schema и выбрал: utf8 - utf8_general_ci
Для таблиц alter table и выбрал: utf8 - utf8_general_ci

Теперь при попытке создать русское имя выводится сообщение в stdout.log:
Цитата:
26 Jul 14:53:24: [SEVERE] could not check existing charname:Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
Не пойму где еще осталось latin1_swedish_ci или это сама игра в такой записывает. При этом если вернуть всё опять на latin1_swedish_ci, то сообщение об ошибке при создании персонажа с русским именем выводится тоже самое.
Подскажите, как побороть это. Где еще нужно изменить, чтобы везде было utf-8 и не возникало данной ошибки
CABA вне форума Ответить с цитированием
Непрочитано 26.07.2016, 16:00   #2
Пользователь

По умолчанию Re: Перевод базы в другую кодировку

Еще есть кодировка транзакций с БД. Если не задано явно то используется кодировка по умолчанию которая прописана в настройках MySQL.
Ее можно например задать в явном виде в настройках сервера в строке подключения к БД.

Например:

URL=jdbc:mysql://localhost/l2jdb?useUnicode=true&characterEncoding=UTF-8
flopix вне форума Ответить с цитированием
Непрочитано 26.07.2016, 16:11   #3
Заинтересовавшийся

Автор темы (Топик Стартер) Re: Перевод базы в другую кодировку

Цитата:
Сообщение от flopix Посмотреть сообщение
URL=jdbc:mysql://localhost/l2jdb?useUnicode=true&characterEncoding=UTF-8
это тоже поменял
CABA вне форума Ответить с цитированием
Непрочитано 26.07.2016, 16:15   #4
Пользователь

По умолчанию Re: Перевод базы в другую кодировку

В строку запуска сервера добавьте еще

java -server -Dfile.encoding=UTF-8 ...
flopix вне форума Ответить с цитированием
Непрочитано 26.07.2016, 16:20   #5
Пользователь

По умолчанию Re: Перевод базы в другую кодировку

CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;
Emperor вне форума Ответить с цитированием
Непрочитано 26.07.2016, 16:33   #6
Заинтересовавшийся

Автор темы (Топик Стартер) Re: Перевод базы в другую кодировку

Цитата:
Сообщение от Emperor Посмотреть сообщение
CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;
это если новую базу и таблицу создавать.
Здесь уже есть игроки.
CABA вне форума Ответить с цитированием
Непрочитано 26.07.2016, 16:36   #7
Пользователь

По умолчанию Re: Перевод базы в другую кодировку

CABA, Ну так ты и не сможешь, насколько я знаю, проделать такое с уже существующей таблицей.
Может я конечно грубо ошибаюсь, но насколько мне известно, такое провернуть можно только полностью снеся существующую.
Emperor вне форума Ответить с цитированием
Непрочитано 26.07.2016, 16:39   #8
Заинтересовавшийся

Автор темы (Топик Стартер) Re: Перевод базы в другую кодировку

Цитата:
Сообщение от flopix Посмотреть сообщение
В строку запуска сервера добавьте еще

java -server -Dfile.encoding=UTF-8 ...
как в итоге будет выглядеть? Так?
java -server -Dfile.encoding=UTF-8 -Xmx1024 com.l2open.gameserver.util.BootManager > log/stdout/stdout.log 2>&1

Добавлено через 6 минут
Цитата:
Сообщение от Emperor Посмотреть сообщение
CABA, Ну так ты и не сможешь, насколько я знаю, проделать такое с уже существующей таблицей.
Может я конечно грубо ошибаюсь, но насколько мне известно, такое провернуть можно только полностью снеся существующую.
после перезапуска сервера. открываю опять mysql workbench И пробую изменить схему, уже сразу показывает, что стоит utf-8, a не latin1 как до этого, то есть по идее можно.

Последний раз редактировалось CABA; 26.07.2016 в 16:46. Причина: Добавлено сообщение
CABA вне форума Ответить с цитированием
Непрочитано 26.07.2016, 16:53   #9
Пользователь

По умолчанию Re: Перевод базы в другую кодировку

Цитата:
Сообщение от CABA Посмотреть сообщение
это если новую базу и таблицу создавать.
Здесь уже есть игроки.
ALTER TABLE `characters` COLLATE='utf8_general_ci';

Добавлено через 1 минуту
Цитата:
Сообщение от CABA Посмотреть сообщение
как в итоге будет выглядеть? Так?
Да. Просто в строку сервера вы добавляете -Dfile.encoding=UTF-8
Но не факт что поможет. Я просто хочу убедиться что все работает с кодировкой UTF-8.

Последний раз редактировалось flopix; 26.07.2016 в 16:55. Причина: Добавлено сообщение
flopix вне форума Ответить с цитированием
Непрочитано 26.07.2016, 17:09   #10
Заинтересовавшийся

Автор темы (Топик Стартер) Re: Перевод базы в другую кодировку

Цитата:
Сообщение от flopix Посмотреть сообщение
ALTER TABLE `characters` COLLATE='utf8_general_ci';

Добавлено через 1 минуту


Да. Просто в строку сервера вы добавляете -Dfile.encoding=UTF-8
Но не факт что поможет. Я просто хочу убедиться что все работает с кодировкой UTF-8.
уже прописано представление, но на всякий случай, ещё sql запрос выполнил. прописал -Dfile.encoding=UTF-8 рестартанудл сервер. Те же ошибки при попытке создать русское имя
CABA вне форума Ответить с цитированием
Ответ

Метки
mysql, schema


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод базы с ПТС на ЯВУ AndruliKxD Lineage II 11 26.01.2015 22:43
переход на другую сборку lolpwnz Lineage II 9 03.01.2012 20:10
Базы Mysql с одной машины на другую. Wolfas Курилка / Yak floor 12 22.03.2011 11:13
Изменение телепортов на другую локацию eleminator Серверная часть 6 06.06.2010 08:35
Переход с одной сборки на другую! neo-skynet Архив 1 30.12.2009 05:50


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 21:29. Часовой пояс GMT +3.

Вверх