Opened 9 years ago

Last modified 3 weeks ago

#458 accepted defect

Win32: autoindex module doesn't support Unicode names

Reported by: Kroward 1 Owned by:
Priority: minor Milestone:
Component: nginx-core Version:
Keywords: win32 Cc:
uname -a: Microsoft Windows XP [Version 5.1.2600]
nginx -V: nginx/1.5.8 (current nginx trunk)


Functions for traversing directories use ANSI versions of FindFirstFile() and FindNextFile(), so any characters in filenames besides basic latin become broken.

Proposed patch fix this issue converting WCHAR names to utf-8.

Attachments (1)

win32_read_dir.patch (5.9 KB ) - added by Kroward 1 9 years ago.
Win32: WCHAR support it ngx_read_dir() to enable Unicode in autoindex

Download all attachments as: .zip

Change History (6)

by Kroward 1, 9 years ago

Attachment: win32_read_dir.patch added

Win32: WCHAR support it ngx_read_dir() to enable Unicode in autoindex

comment:1 by Maxim Dounin, 9 years ago

Status: newaccepted

Ack, it needs to be fixed. The patch in question needs more work. (And please also consider reading, thanks.)

comment:2 by Kroward 1, 9 years ago

I forgot to mention than behavior of autoindex module depends on selected charset. The patch does work with 'charset utf-8' directive in config file, but probably will give inconsistent results with other settings.

comment:3 by Maxim Dounin, 5 years ago

Keywords: win32 added

See also #1433.

comment:4 by Maxim Dounin, 21 months ago

See also #2175.

comment:5 by Maxim Dounin, 3 weeks ago

For the record, I've submitted a patch series to address various issues with non-ASCII names on Windows, including this one. In particular, the following patch fixes issues with autoindex:

Review and testing appreciated.

Note: See TracTickets for help on using tickets.