Development Notes | Testing | Documentation
For contributions (comments, testing, ports, patches,...) please contact Martin Dürst
See XML file in CVS (still a lot to be done)
Internationalized Resounce Identifiers (IRIs) - Server-side Implementation, 24th Internationalization & Unicode Conference in Atlanta, GA, USA, 4 September 2004.
Things to work on next:
AllowOverride category(ies) the directives
    should go into (currently Options, maybe also
    FileInfo)Things that work:
Directives (this may be outdated, not totally sure):
FileIRImain option, settings:
    On: Pathnames and filenames in legacy encoding,
        indicated by FilenameCharset. External permanent
        redirect to UTF-8 if necessary, serving content from UTF-8 URI.Backwards: Pathnames and filenames in UTF-8. External
        permanent redirect to UTF-8 if request in
        OldFilenameCharset.Off: No conversion is done. Any other/undefined value
        is equivalent to OffFilenameCharset: character encoding of pathnames and
    filenames in the directory (or below)OldFilenameCharset: former character encoding of pathnames
    and filenames in the directory (or below), before switching to UTF-8.| FileIRI | Request encoding | Server file encoding | Action | 
| Off | UTF-8 | UTF-8 | 200 OK | 
| Off | legacy | UTF-8 | 404 not found | 
| Off | UTF-8 | legacy | 404 not found | 
| Off | legacy | legacy | 200 OK | 
| On | UTF-8 | UTF-8 | ?? | 
| On | legacy | UTF-8 | ?? | 
| On | UTF-8 | legacy | internal redirect | 
| On | legacy | legacy | External redirect->internal redirect | 
| Backwards | UTF-8 | UTF-8 | 200 OK | 
| Backwards | legacy | UTF-8 | internal redirect | 
| Backwards | UTF-8 | legacy | 404 not found | 
| Backwards | legacy | legacy | 200 (accidental) | 
| Only | UTF-8 | UTF-8 | 404 not found | 
| Only | legacy | UTF-8 | 404 not found | 
| Only | UTF-8 | legacy | 200 OK | 
| Only | legacy | legacy | 404 not found | 
2-d table:
| Request encoding | UTF-8 | legacy | UTF-8 | legacy | 
|---|---|---|---|---|
| Server file encoding | UTF-8 | UTF-8 | legacy | legacy | 
| FileIRI Off | 200 OK | 404 not found | 404 not found | 200 OK | 
| FileIRI On | ?? | ?? | internal redirect | External redirect->internal redirect | 
| FileIRI Backwards | 200 OK | internal redirect | 404 not found | 200 (accidental) | 
| FileIRI Only | 404 not found | 404 not found | 200 OK | 404 not found | 
List of file names to test with (U: UTF-8, L: Legacy):
| Language | Text | Translation | legacy encoding | U -> L | L -> L | L -> U | U -> U | escaped UTF-8 | escaped legacy | 
|---|---|---|---|---|---|---|---|---|---|
| French | résumé | summary | iso-8859-1 | résumé | résumé | résumé | résumé | r%C3%A9sum%C3%A9 | r%E9sum%E9 | 
| German | Übersetzung | translation | iso-8859-1 | Übersetzung | Übersetzung | Übersetzung | Übersetzung | %C3%9Cbersetzung | %DCbersetzung | 
| German | Bücher | books | iso-8859-1 | Bücher | Bücher | Bücher | Bücher | B%C3%BCcher | B%FCcher | 
| German | Übersetzung | translation | iso-8859-2 | Übersetzung | Übersetzung | Übersetzung | Übersetzung | %C3%9Cbersetzung | %DCbersetzung | 
| Hungarian | előírás | regulation | iso-8859-2 | előírás | előírás | előírás | előírás | el%C5%91%C3%ADr%C3%A1s | el%F5%EDr%E1s | 
| Chinese (simp.) | 词典 | dictionary | gb2312 | 词典 | 词典 | 词典 | 词典 | %E8%AF%8D%E5%85%B8 | %B4%CA%B5%E4 | 
| Japanese | 日記 | diary | shift_jis | 日記 | 日記 | 日記 | 日記 | %E6%97%A5%E8%A8%98 | %93%FA%8BL | 
| Japanese | 日記 | diary | euc-jp | 日記 | 日記 | 日記 | 日記 | %E6%97%A5%E8%A8%98 | %C6%FC%B5%AD | 
| Korean | 소설 | novel | euc-kr | 소설 | 소설 | 소설 | 소설 | %EC%86%8C%EC%84%A4 | %BC%D2%BC%B3 | 
| Arabic | كتب | books | iso-8859-6 | كتب | كتب | كتب | كتب | %D9%83%D8%AA%D8%A8 | %E3%CA%C8 | 
| Arabic | كتب | books | windows-1256 | كتب | كتب | كتب | كتب | %D9%83%D8%AA%D8%A8 | %DF%CA%C8 | 
| Russian | перевод | translation | iso-8859-5 | перевод | перевод | перевод | перевод | %D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4 | %DF%D5%E0%D5%D2%DE%D4 | 
| Russian | перевод | translation | koi8-r | перевод | перевод | перевод | перевод | %D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4 | %D0%C5%D2%C5%D7%CF%C4 | 
| Russian | перевод | translation | windows-1251 | перевод | перевод | перевод | перевод | %D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4 | %EF%E5%F0%E5%E2%EE%E4 | 
UTF-8 -> legacy: Übersetzung/перевод/Übersetzung.html
mixed -> legacy: UÜbersetzung/Uперевод/LÜbersetzung.html, UÜbersetzung/Lперевод/UÜbersetzung.html, UÜbersetzung/Lперевод/LÜbersetzung.html, LÜbersetzung/Uперевод/UÜbersetzung.html, LÜbersetzung/Uперевод/LÜbersetzung.html, LÜbersetzung/Lперевод/UÜbersetzung.html
legacy -> legacy: Übersetzung/перевод/Übersetzung.html
UTF-8 -> UTF-8: Übersetzung/перевод/Übersetzung.html
mixed -> UTF-8: UÜbersetzung/Uперевод/LÜbersetzung.html, UÜbersetzung/Lперевод/UÜbersetzung.html, UÜbersetzung/Lперевод/LÜbersetzung.html, LÜbersetzung/Uперевод/UÜbersetzung.html, LÜbersetzung/Uперевод/LÜbersetzung.html, LÜbersetzung/Lперевод/UÜbersetzung.html
legacy -> UTF-8: Übersetzung/перевод/Übersetzung.html
Nonexisting documents: réservation (UTF-8->legacy), réservation (legacy->legacy), réservation (legacy->UTF-8), réservation (UTF-8->UTF-8)
Misspellings: résumè (UTF-8->legacy), résumè (legacy->legacy), résumè (legacy->UTF-8), résumè (UTF-8 -> UTF-8)