unicode-to-nginx.pl
Maxim Dounin
mdounin на mdounin.ru
Вс Авг 21 19:11:15 UTC 2016
Hello!
On Sat, Aug 20, 2016 at 09:27:37AM +0300, Andrey Khlopenov wrote:
> Добрый день.
> А unicode-to-nginx.pl в дистрибутиве nginx сейчас актуален?
> Ибо при попытке конвертирования http://www.unicode.org/Public/
> MAPPINGS/VENDORS/MISC/KOI8-R.TXT получаю таблицу, которая отличается от
> koi-utf, что лежит возле скрипта.
> Ну и, соотв., nginx ругается, если подключить такой charset_map.
Последние 10 лет его никто не трогал, и, судя по всему, с
современным перлом он работает некорректно. Чтобы было правильно,
надо добавить "U0" в unpack, как-то так:
diff --git a/contrib/unicode2nginx/unicode-to-nginx.pl b/contrib/unicode2nginx/unicode-to-nginx.pl
--- a/contrib/unicode2nginx/unicode-to-nginx.pl
+++ b/contrib/unicode2nginx/unicode-to-nginx.pl
@@ -33,7 +33,7 @@ while (<>) {
# Produce UTF-8 sequence from character code;
- my $un_utf8 = join('', map { sprintf("%02X", $_) } unpack("C*", pack("U", hex($un_code))));
+ my $un_utf8 = join('', map { sprintf("%02X", $_) } unpack("U0C*", pack("U", hex($un_code))));
print " $cs_code $un_utf8 ; $un_name\n";
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru