diff options
author | Igor Sysoev <igor@sysoev.ru> | 2006-07-28 15:16:17 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2006-07-28 15:16:17 +0000 |
commit | 8f1255877c4b64f83fce75baa4d903797e00e815 (patch) | |
tree | e6594c2c4578b85fa81c4a5fe334daac91142a6f /contrib/unicode2nginx/unicode-to-nginx.pl | |
parent | 741c6e9c1ecd17d2165f2e8e3426023117f4b15d (diff) | |
download | nginx-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-x | contrib/unicode2nginx/unicode-to-nginx.pl | 45 |
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: '$_'"; + } +} + +############################################################################### |