aboutsummaryrefslogtreecommitdiff
path: root/contrib/unicode2nginx/unicode-to-nginx.pl
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2006-07-28 15:16:17 +0000
committerIgor Sysoev <igor@sysoev.ru>2006-07-28 15:16:17 +0000
commit8f1255877c4b64f83fce75baa4d903797e00e815 (patch)
treee6594c2c4578b85fa81c4a5fe334daac91142a6f /contrib/unicode2nginx/unicode-to-nginx.pl
parent741c6e9c1ecd17d2165f2e8e3426023117f4b15d (diff)
downloadnginx-8f1255877c4b64f83fce75baa4d903797e00e815.tar.gz
nginx-8f1255877c4b64f83fce75baa4d903797e00e815.zip
nginx-0.3.55-RELEASE importrelease-0.3.55
*) Feature: the "stub" parameter in the "include" SSI command. *) Feature: the "block" SSI command. *) Feature: the unicode2nginx script was added to contrib. *) Bugfix: if a "root" was specified by variable only, then the root was relative to a server prefix. *) Bugfix: if the request contained "//" or "/./" and escaped symbols after them, then the proxied request was sent unescaped. *) Bugfix: the $r->headers_in("Cookie") of the ngx_http_perl_module now returns all "Cookie" header lines. *) Bugfix: a segmentation fault occurred if "client_body_in_file_only on" was used and nginx switched to a next upstream. *) Bugfix: on some condition while reconfiguration character codes inside the "charset_map" may be treated invalid; the bug had appeared in 0.3.50.
Diffstat (limited to 'contrib/unicode2nginx/unicode-to-nginx.pl')
-rwxr-xr-xcontrib/unicode2nginx/unicode-to-nginx.pl45
1 files changed, 45 insertions, 0 deletions
diff --git a/contrib/unicode2nginx/unicode-to-nginx.pl b/contrib/unicode2nginx/unicode-to-nginx.pl
new file mode 100755
index 000000000..daaf354a8
--- /dev/null
+++ b/contrib/unicode2nginx/unicode-to-nginx.pl
@@ -0,0 +1,45 @@
+#!/usr/bin/perl -w
+
+# Convert unicode mappings to nginx configuration file format.
+
+# You may find useful mappings in various places, including
+# unicode.org official site:
+#
+# http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT
+# http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT
+
+# Needs perl 5.6 or later.
+
+# Written by Maxim Dounin, mdounin@rambler-co.ru
+
+###############################################################################
+
+require 5.006;
+
+while (<>) {
+ # Skip comments and empty lines
+
+ next if /^#/;
+ next if /^\s*$/;
+ chomp;
+
+ # Convert mappings
+
+ if (/^\s*0x(..)\s*0x(....)\s*(#.*)/) {
+ # Mapping <from-code> <unicode-code> "#" <unicode-name>
+ my $cs_code = $1;
+ my $un_code = $2;
+ my $un_name = $3;
+
+ # Produce UTF-8 sequence from character code;
+
+ my $un_utf8 = join('', map { sprintf("%02X", $_) } unpack("C*", pack("U", hex($un_code))));
+
+ print " $cs_code $un_utf8 ; $un_name\n";
+
+ } else {
+ warn "Unrecognized line: '$_'";
+ }
+}
+
+###############################################################################