Логотип   Простое и понятное управление
  Уникальные возможности по настройке
  Open Server скачали уже 1 016 357 раз!

Форум

Добро пожаловать, Гость!

OpenServer + PostgreSQL

Вопросы по работе с Apache, Nginx, PHP, MySQL, Sendmail и т.д.
Ofigenski
Сообщения: 5
C нами: 4 мес 23 дня

Непрочитанное сообщение Ofigenski » 11 июл 2016, 10:59

Добрый день!

Я сказал и поставил OpenServer 5.2.5 , запустил вместе с последней версией PostgreSQL которая там предустановленна.
Все вроде бы хорошо работает.

Открываю конфиг запущенного PostgreSQL и вижу:
# encoding
# These settings are initialized by initdb, but they can be changed.
lc_messages = 'en_US.UTF-8' # locale for system error message
# strings
lc_monetary = 'Russian_Russia.1251' # locale for monetary formatting
lc_numeric = 'Russian_Russia.1251' # locale for number formatting
lc_time = 'Russian_Russia.1251' # locale for time formatting


А дело вот в чем. Мне через консоль от имени postgres надо запустить SQL файл, он создает роли , базу и т. д.
И в этом файле есть такие строчки:
CREATE DATABASE myname
WITH ENCODING='UTF8'
OWNER=globedrobe_user
LC_COLLATE='ru_RU.UTF-8'
LC_CTYPE='ru_RU.UTF-8'
CONNECTION LIMIT=-1;
И вот при запуске SQL файла в данной ситуации вылетает ошибка про «........ что то там …. ru_RU.UTF-8 … », т. е. не фурычит!

Пробую в когфиге поменять «Russian_Russia.1251» на «Russian_Russia.65001» и OpenServer не запускается, пишет ошибка в PostgreSQL.

Может кто подсказать?

Аватара пользователя
Максим
Сообщения: 4868
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 11 июл 2016, 11:06

В Windows нет русской юникодовской локали.

Ofigenski
Сообщения: 5
C нами: 4 мес 23 дня

Непрочитанное сообщение Ofigenski » 11 июл 2016, 11:12

Максим писал(а):В Windows нет русской юникодовской локали.


Спасибо большое за ответ.
А позвольте таких пару вопросов:

То есть ее туда никак нельзя впихнуть?

А если из этого:
CREATE DATABASE myname
WITH ENCODING='UTF8'
OWNER=globedrobe_user
LC_COLLATE='ru_RU.UTF-8'
LC_CTYPE='ru_RU.UTF-8'
CONNECTION LIMIT=-1;

Сделать это:
CREATE DATABASE myname
WITH ENCODING='UTF8'
OWNER=globedrobe_user
CONNECTION LIMIT=-1;

Норм будет?

Аватара пользователя
Максим
Сообщения: 4868
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 11 июл 2016, 11:17

Думаю должно сработать и будет всё ok.

Ofigenski
Сообщения: 5
C нами: 4 мес 23 дня

Непрочитанное сообщение Ofigenski » 11 июл 2016, 11:24

Понял.
Максим, спасибо большое за ответы!

Ofigenski
Сообщения: 5
C нами: 4 мес 23 дня

Непрочитанное сообщение Ofigenski » 11 июл 2016, 11:28

Максим писал(а):Думаю должно сработать и будет всё ok.



Хотя позвольте еще вопрос.

Вот тут http://open-server.ru/forum/viewtopic.php?t=2161 Вы писали про:

В русской винде к примеру есть такие значения:
LC_ALL=Russian_Russia.65001
LC_COLLATE=Russian_Russia.65001
LC_CTYPE=Russian_Russia.1251
LC_MONETARY=Russian_Russia.65001
LC_NUMERIC=Russian_Russia.65001
LC_TIME=Russian_Russia.65001

Это к моему случаю не применимо?

Аватара пользователя
Максим
Сообщения: 4868
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 11 июл 2016, 11:38

LC_CTYPE не получится, даже в моём сообщении читайте кодировку для LC_CTYPE - Russian_Russia.1251.

В вашем SQL коде такое:
LC_COLLATE='ru_RU.UTF-8'
LC_CTYPE='ru_RU.UTF-8'

Соответственно можете удалить LC_CTYPE, а первую строку попробовать как LC_COLLATE='Russian_Russia.65001'.

Ofigenski
Сообщения: 5
C нами: 4 мес 23 дня

Непрочитанное сообщение Ofigenski » 11 июл 2016, 11:43

Да, спасибо, теперь понял.
Благодаря Вам и вот этой строчке:
«В операционной системе Windows нельзя настроить категорию LC_CTYPE для кодировки UTF-8. Это связано с особенностями операционной системы Windows.»


Вернуться в «Модули и инструменты»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость