These are chat archives for synrc/n2o

7th
Feb 2016
Yuriy Al. Shirokov
@yashrk
Feb 07 2016 13:17
Заметил интересный эффект. У меня в sys.config живут юникодные строки, которые я получаю через application:get_env/2.
При запуске REPL я вижу текст из этих строк нормально, а при запуске бандла — крокозябры. НО! Если подложить в каталог с бандлом sys.config, строки снова становятся видны.
Похоже на то, что в http://erlang.org/doc/apps/stdlib/unicode_usage.html описано как «double UTF-8 encoding»
Пока нашёл воркэраунд в виде подкладывания sys.config в каталог с бандлом при деплое, но хочется как-то решить эту проблему, а не городить костыли.
Namdak Tonpa
@5HT
Feb 07 2016 15:36
sys.config должен быть в бандле
это не костыли :-)
Yuriy Al. Shirokov
@yashrk
Feb 07 2016 16:09
Так в том-то и дело, что в бандле он есть, но читается неправильно!
И приходится подкладывать sys.conig рядом с бандлом
Для меня новостью было, что содержание каталога, в котором лежит бандл, вообще как-то влияет на его работу
Namdak Tonpa
@5HT
Feb 07 2016 17:12
Ааа
тогда да
ну таким образом можно переопределить любой файл в бандле
это так by design
это фича )
Yuriy Al. Shirokov
@yashrk
Feb 07 2016 17:54
Ну хорошо. Но почему при чтении конфига изнутри бандла юникод превращается в крокозябры?
Namdak Tonpa
@5HT
Feb 07 2016 17:55
надо смотреть
Yuriy Al. Shirokov
@yashrk
Feb 07 2016 18:13
Я сделал MWE на примере mad-овского стандартного приложения (добавлена одна строка к конфигу и реплики в чате заменяются на эту строку), могу прислать
Namdak Tonpa
@5HT
Feb 07 2016 18:14
MWE?
Yuriy Al. Shirokov
@yashrk
Feb 07 2016 18:15
Minimal Working Example
Namdak Tonpa
@5HT
Feb 07 2016 18:15
давай
Namdak Tonpa
@5HT
Feb 07 2016 18:17
ок гляну
Yuriy Al. Shirokov
@yashrk
Feb 07 2016 18:17
Шаги по воспоизведению: собрать, запустить REPL, убедиться, что вместо реплик появляется строка «Юникод». Собрать бандл, запустить, убедиться, что по-прежнему появляется строка «Юникод» (sys.config-то пока в том же каталоге). Перенести бандл в другой каталог, запустить, увидеть вместо «Юникод» — «Ð®Ð½Ð¸ÐºÐ¾Ð´».
Namdak Tonpa
@5HT
Feb 07 2016 18:18
у меня только вопрос
а че ты гитхабом не пользуешься а яндекс диском? :-)
яндекс диск тебе удобнее чем гитхаб?
Yuriy Al. Shirokov
@yashrk
Feb 07 2016 18:21
Проект на гитхабе под мусорный одноразовый пример заводить не хочется, в моём понимании гитхаб для другого
Namdak Tonpa
@5HT
Feb 07 2016 18:21
так завел—удалил, не?
Yuriy Al. Shirokov
@yashrk
Feb 07 2016 18:23
Ну, ХЗ. Возможно, это и предрассудки. Не думал про использование гитхаба как файлопомойки.
Namdak Tonpa
@5HT
Feb 07 2016 18:23
я для этого держу организации фалопомоечные
erlang-synrc например
riak-synrc
не обязательно временные проекты под своим аккаунтом создавать
Yuriy Al. Shirokov
@yashrk
Feb 07 2016 18:28

Да, ещё я понял, какое именное неправильное преобразование происходит.

$ echo "Юникод" | iconv -f=latin1 -t=utf8
Юникод

То есть это действительно очень похоже на double UTF-8 encoding как он описан на http://erlang.org/doc/apps/stdlib/unicode_usage.html

Roman
@AstRonin
Feb 07 2016 19:19
а этот апдейт synrc/synrc.com@1dd9e45 где-то можно посмотреть на сайте?
Andy
@m-2k
Feb 07 2016 22:28
@yashrk ну просто юникод обрабатывается как latin-1 и всё
string:to_lower(binary_to_list(<<"Юникод"/utf8>>)).
"ð®ð½ð¸ðºð¾ð´"