non-standard file names

I recently discovered that for some pathnames, the URL is incorrect. For an example, look at http://www.freshports.org/japanese/im-ja/files/patch-src_xim_Makefile.in. Click on the first file listed there: devel/gdb6/files/patch-i386%nm-fbsd64.h

The URL should be http://www.freshports.org/devel/gdb6/files/patch-i386%25nm-fbsd64.h. That is, the embedded % should appear in the URL as %25, which is the hexadecimal value for a percent-sign.

A simple solution, using PHP, would be:

urlencode($PathName)

However, that generates a URL like this:

www.freshports.org/devel%2Fgdb6%2Ffiles%2Fpatch-i386%2525nm-fbsd64.h

… which, aside from being unsightly, FreshPorts does not parse correctly. I did read about some solutions to this problem, particularly the AllowEncodedSlashes On directive for Apache. However, I preferred the following solution: revert to slashes.

Thus, the fix shown above becomes:

- $this->HTML .= '<a href="/' . $PathName . '">' . $PathName . '</a>';
+ $this->HTML .= '<a href="/' . str_replace('%2F', '/', urlencode($PathName)) . '">' . $PathName . '</a>';

This fix is only in my sandbox for now.

So… how often does % appear in a file name? 508 times it seems.

freshports.org=# select status, element_pathname(id) from element where name like E'%\\%%' ORDER BY 2;
 status |                                 element_pathname
--------+----------------------------------------------------------------------------------
 D      | /ports/archivers/dpkg/files/patch-utils%start-stop-daemon.c
 D      | /ports/databases/firebird-server/files/patch-builds%make.new%config%config.h.in
 D      | /ports/databases/firebird-server/files/patch-builds%posix%make.defaults
 D      | /ports/databases/firebird-server/files/patch-src%common%config%config.cpp
 D      | /ports/databases/firebird-server/files/patch-src%install%misc%firebird.conf
 D      | /ports/databases/firebird-server/files/patch-src%jrd%db_alias.cpp
 D      | /ports/databases/firebird-server/files/patch-src%jrd%gds.cpp
 D      | /ports/databases/firebird-server/files/patch-src%jrd%os%posix%config_root.cpp
 D      | /ports/databases/firebird-server/files/patch-src%jrd%plugin_manager.cpp
 D      | /ports/databases/firebird-server/files/patch-src%jrd%svc.cpp
 D      | /ports/databases/firebird-server/files/patch-src%lock%lock.cpp
 D      | /ports/databases/firebird2-server/files/patch-builds%install%misc%firebird.conf
 D      | /ports/databases/firebird2-server/files/patch-builds%make.new%config%config.h.in
 D      | /ports/databases/firebird2-server/files/patch-builds%posix%Makefile.in.firebird
 D      | /ports/databases/firebird2-server/files/patch-builds%posix%make.defaults
 D      | /ports/databases/firebird2-server/files/patch-builds%posix%make.rules
 D      | /ports/databases/firebird2-server/files/patch-src%common%config%config.cpp
 D      | /ports/databases/firebird2-server/files/patch-src%install%misc%firebird.conf
 D      | /ports/databases/firebird2-server/files/patch-src%jrd%db_alias.cpp
 D      | /ports/databases/firebird2-server/files/patch-src%jrd%gds.cpp
 D      | /ports/databases/firebird2-server/files/patch-src%jrd%os%config_root.h
 D      | /ports/databases/firebird2-server/files/patch-src%jrd%os%posix%config_root.cpp
 D      | /ports/databases/firebird2-server/files/patch-src%jrd%plugin_manager.cpp
 D      | /ports/databases/firebird2-server/files/patch-src%jrd%svc.cpp
 D      | /ports/databases/firebird2-server/files/patch-src%lock%lock.cpp
 A      | /ports/databases/firebird20-server/files/patch-builds%posix%make.defaults
 A      | /ports/databases/firebird21-server/files/patch-builds%install%misc%firebird.conf
 A      | /ports/databases/firebird21-server/files/patch-builds%posix%Makefile.in.firebird
 A      | /ports/databases/firebird21-server/files/patch-builds%posix%make.defaults
 A      | /ports/databases/firebird21-server/files/patch-builds%posix%make.rules
 A      | /ports/databases/firebird21-server/files/patch-src%common%config%config.cpp
 A      | /ports/databases/firebird21-server/files/patch-src%jrd%db_alias.cpp
 A      | /ports/databases/firebird21-server/files/patch-src%jrd%gds.cpp
 A      | /ports/databases/firebird21-server/files/patch-src%jrd%os%config_root.h
 A      | /ports/databases/firebird21-server/files/patch-src%jrd%plugin_manager.cpp
 A      | /ports/databases/firebird21-server/files/patch-src%jrd%svc.cpp
 A      | /ports/databases/firebird21-server/files/patch-src%lock%lock.cpp
 D      | /ports/devel/gdb6/files/patch-i386%nm-fbsd64.h
 D      | /ports/japanese/im-ja/files/patch-data%Makefile.in
 D      | /ports/japanese/im-ja/files/patch-src%Makefile.in
 D      | /ports/japanese/im-ja/files/patch-src%hiragana-convertable.h
 D      | /ports/japanese/im-ja/files/patch-src%hiragana-convertable.txt
 D      | /ports/japanese/im-ja/files/patch-src%wnnlib.c
 D      | /ports/japanese/im-ja/files/patch-src%xim%Makefile.in
 D      | /ports/japanese/im-ja/files/patch-src%xim-handler.c
 D      | /ports/japanese/im-ja/files/patch-src%xim-ic.c
 D      | /ports/korean/ami/files/patch-src%ami.c
 D      | /ports/korean/bitchx/files/patch-source%modules.c
 D      | /ports/lang/egcs/files/patch-cp%decl.c
 D      | /ports/lang/egcs/files/patch-cp%ptree.c
 D      | /ports/lang/egcs/files/patch-libiberty%Makefile.in
 D      | /ports/mail/exim-old/files/patch-src%smtp_in.c
 D      | /ports/mail/postfix1/files/patch-src%trivial-rewrite%resolve.c
 D      | /ports/net/ssldump/files/patch-ssl%ssldecode.c
 D      | /ports/security/pgp6/files/patch-cmdline%keygen.c
 D      | /ports/security/pgp6/files/patch-cmdline%keymaint.c
 D      | /ports/security/pgp6/files/patch-cmdline%prototypes.h
 D      | /ports/security/pgp6/files/patch-cmdline%stubs.c
 D      | /ports/security/pgp6/files/patch-ldaplib%Makefile
 D      | /ports/sysutils/e2fsprogs/files/patch-intl%Makefile.in
 A      | /src/share/i18n/csmapper/APPLE/ARABIC%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/CELTIC%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/CENTEURO%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/CROATIAN%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/CYRILLIC%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/DEVANAGA%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/DINGBATS%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/FARSI%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/GAELIC%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/GREEK%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/GUJARATI%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/GURMUKHI%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/HEBREW%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/ICELAND%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/INUIT%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/KEYBOARD%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/ROMAN%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/ROMANIAN%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/SYMBOL%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/THAI%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/TURKISH%UCS.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%ARABIC.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%CELTIC.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%CENTEURO.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%CROATIAN.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%CYRILLIC.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%DEVANAGA.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%DINGBATS.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%FARSI.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%GAELIC.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%GREEK.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%GUJARATI.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%GURMUKHI.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%HEBREW.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%ICELAND.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%INUIT.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%KEYBOARD.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%ROMAN.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%ROMANIAN.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%SYMBOL.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%THAI.src
 A      | /src/share/i18n/csmapper/APPLE/UCS%TURKISH.src
 A      | /src/share/i18n/csmapper/AST/ARMSCII-7%UCS.src
 A      | /src/share/i18n/csmapper/AST/ARMSCII-8%UCS.src
 A      | /src/share/i18n/csmapper/AST/ARMSCII-8A%UCS.src
 A      | /src/share/i18n/csmapper/AST/UCS%ARMSCII-7.src
 A      | /src/share/i18n/csmapper/AST/UCS%ARMSCII-8.src
 A      | /src/share/i18n/csmapper/AST/UCS%ARMSCII-8A.src
 A      | /src/share/i18n/csmapper/BIG5/Big5@1984%UCS.src
 A      | /src/share/i18n/csmapper/BIG5/Big5EXT@2003%UCS.src
 A      | /src/share/i18n/csmapper/BIG5/Big5EXT@E%UCS.src
 A      | /src/share/i18n/csmapper/BIG5/Big5EXT@IBM%UCS.src
 A      | /src/share/i18n/csmapper/BIG5/Big5EXT@Plus%UCS.src
 A      | /src/share/i18n/csmapper/BIG5/Big5UDA%UCS.src
 A      | /src/share/i18n/csmapper/BIG5/ETen%UCS@BMP.src
 A      | /src/share/i18n/csmapper/BIG5/ETen%UCS@SIP.src
 A      | /src/share/i18n/csmapper/BIG5/HKSCS%UCS@BMP.src
 A      | /src/share/i18n/csmapper/BIG5/HKSCS%UCS@SIP.src
 A      | /src/share/i18n/csmapper/BIG5/UCS%Big5@1984.src
 A      | /src/share/i18n/csmapper/BIG5/UCS%Big5EXT@2003.src
 A      | /src/share/i18n/csmapper/BIG5/UCS%Big5EXT@E.src
 A      | /src/share/i18n/csmapper/BIG5/UCS%Big5EXT@IBM.src
 A      | /src/share/i18n/csmapper/BIG5/UCS%Big5EXT@Plus.src
 A      | /src/share/i18n/csmapper/BIG5/UCS%Big5UDA.src
 A      | /src/share/i18n/csmapper/BIG5/UCS@BMP%ETen.src
 A      | /src/share/i18n/csmapper/BIG5/UCS@BMP%HKSCS.src
 A      | /src/share/i18n/csmapper/BIG5/UCS@SIP%ETen.src
 A      | /src/share/i18n/csmapper/BIG5/UCS@SIP%HKSCS.src
 A      | /src/share/i18n/csmapper/CNS/CNS11643-1%UCS.src
 A      | /src/share/i18n/csmapper/CNS/CNS11643-2%UCS.src
 A      | /src/share/i18n/csmapper/CNS/CNS11643-3%UCS@BMP.src
 A      | /src/share/i18n/csmapper/CNS/CNS11643-3%UCS@SIP.src
 A      | /src/share/i18n/csmapper/CNS/CNS11643-4%UCS@BMP.src
 A      | /src/share/i18n/csmapper/CNS/CNS11643-4%UCS@SIP.src
 A      | /src/share/i18n/csmapper/CNS/CNS11643-5%UCS@BMP.src
 A      | /src/share/i18n/csmapper/CNS/CNS11643-5%UCS@SIP.src
 A      | /src/share/i18n/csmapper/CNS/CNS11643-6%UCS@BMP.src
 A      | /src/share/i18n/csmapper/CNS/CNS11643-6%UCS@SIP.src
 A      | /src/share/i18n/csmapper/CNS/CNS11643-7%UCS@BMP.src
 A      | /src/share/i18n/csmapper/CNS/CNS11643-7%UCS@SIP.src
 A      | /src/share/i18n/csmapper/CNS/UCS%CNS11643-1.src
 A      | /src/share/i18n/csmapper/CNS/UCS%CNS11643-2.src
 A      | /src/share/i18n/csmapper/CNS/UCS@BMP%CNS11643-3.src
 A      | /src/share/i18n/csmapper/CNS/UCS@BMP%CNS11643-4.src
 A      | /src/share/i18n/csmapper/CNS/UCS@BMP%CNS11643-5.src
 A      | /src/share/i18n/csmapper/CNS/UCS@BMP%CNS11643-6.src
 A      | /src/share/i18n/csmapper/CNS/UCS@BMP%CNS11643-7.src
 A      | /src/share/i18n/csmapper/CNS/UCS@SIP%CNS11643-3.src
 A      | /src/share/i18n/csmapper/CNS/UCS@SIP%CNS11643-4.src
 A      | /src/share/i18n/csmapper/CNS/UCS@SIP%CNS11643-5.src
 A      | /src/share/i18n/csmapper/CNS/UCS@SIP%CNS11643-6.src
 A      | /src/share/i18n/csmapper/CNS/UCS@SIP%CNS11643-7.src
 A      | /src/share/i18n/csmapper/CP/CP037%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP038%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP10000%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP10006%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP10007%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP10029%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1006%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP10079%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP10081%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1026%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1046%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1124%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1125%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1129%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1131%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1133%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1161%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1162%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1163%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1250%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1251%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1252%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1253%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1254%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1255%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1256%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1257%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP1258%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP273%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP274%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP275%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP277%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP278%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP280%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP281%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP284%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP285%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP290%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP297%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP420%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP423%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP424%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP437%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP500%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP737%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP775%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP850%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP851%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP852%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP853%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP855%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP856%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP857%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP858%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP860%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP861%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP862%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP863%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP864%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP865%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP866%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP868%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP869%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP870%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP871%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP874%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP875%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP880%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP891%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP903%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP904%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP905%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP918%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP922%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP932UDA%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP932VDC@IBM%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP932VDC@NEC_IBM%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP936EXT%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP942EXT%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP949EXT%UCS.src
 A      | /src/share/i18n/csmapper/CP/CP950%UCS.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP037.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP038.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP10000.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP10006.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP10007.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP10029.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1006.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP10079.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP10081.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1026.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1046.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1124.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1125.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1129.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1131.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1133.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1161.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1162.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1163.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1250.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1251.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1252.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1253.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1254.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1255.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1256.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1257.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP1258.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP273.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP274.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP275.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP277.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP278.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP280.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP281.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP284.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP285.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP290.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP297.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP420.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP423.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP424.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP437.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP500.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP737.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP775.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP850.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP851.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP852.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP853.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP855.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP856.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP857.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP858.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP860.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP861.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP862.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP863.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP864.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP865.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP866.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP868.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP869.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP870.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP871.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP874.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP875.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP880.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP891.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP903.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP904.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP905.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP918.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP922.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP932UDA.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP932VDC@IBM.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP932VDC@NEC_IBM.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP936EXT.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP942EXT.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP949EXT.src
 A      | /src/share/i18n/csmapper/CP/UCS%CP950.src
 A      | /src/share/i18n/csmapper/EBCDIC/EBCDIC-AT-DE%UCS.src
 A      | /src/share/i18n/csmapper/EBCDIC/EBCDIC-AT-DE-A%UCS.src
 A      | /src/share/i18n/csmapper/EBCDIC/EBCDIC-CA-FR%UCS.src
 A      | /src/share/i18n/csmapper/EBCDIC/EBCDIC-DK-NO%UCS.src
 A      | /src/share/i18n/csmapper/EBCDIC/EBCDIC-DK-NO-A%UCS.src
 A      | /src/share/i18n/csmapper/EBCDIC/EBCDIC-ES%UCS.src
 A      | /src/share/i18n/csmapper/EBCDIC/EBCDIC-ES-A%UCS.src
 A      | /src/share/i18n/csmapper/EBCDIC/EBCDIC-ES-S%UCS.src
 A      | /src/share/i18n/csmapper/EBCDIC/EBCDIC-FI-SE%UCS.src
 A      | /src/share/i18n/csmapper/EBCDIC/EBCDIC-FI-SE-A%UCS.src
 A      | /src/share/i18n/csmapper/EBCDIC/EBCDIC-FR%UCS.src
 A      | /src/share/i18n/csmapper/EBCDIC/EBCDIC-IT%UCS.src
 A      | /src/share/i18n/csmapper/EBCDIC/EBCDIC-PT%UCS.src
 A      | /src/share/i18n/csmapper/EBCDIC/EBCDIC-UK%UCS.src
 A      | /src/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-AT-DE-A.src
 A      | /src/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-AT-DE.src
 A      | /src/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-CA-FR.src
 A      | /src/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-DK-NO-A.src
 A      | /src/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-DK-NO.src
 A      | /src/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-ES-A.src
 A      | /src/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-ES-S.src
 A      | /src/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-ES.src
 A      | /src/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-FI-SE-A.src
 A      | /src/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-FI-SE.src
 A      | /src/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-FR.src
 A      | /src/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-IT.src
 A      | /src/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-PT.src
 A      | /src/share/i18n/csmapper/EBCDIC/UCS%EBCDIC-UK.src
 A      | /src/share/i18n/csmapper/GB/GB12345%UCS.src
 A      | /src/share/i18n/csmapper/GB/GB18030%UCS@BMP.src
 A      | /src/share/i18n/csmapper/GB/GB2312%UCS.src
 A      | /src/share/i18n/csmapper/GB/GB2312EXT%UCS.src
 A      | /src/share/i18n/csmapper/GB/GB2312GBK%UCS.src
 A      | /src/share/i18n/csmapper/GB/GB2312UDA1%UCS.src
 A      | /src/share/i18n/csmapper/GB/GB2312UDA2%UCS.src
 A      | /src/share/i18n/csmapper/GB/GBKEXT%UCS.src
 A      | /src/share/i18n/csmapper/GB/GBKUDA%UCS.src
 A      | /src/share/i18n/csmapper/GB/ISO-IR-165EXT%UCS.src
 A      | /src/share/i18n/csmapper/GB/UCS%GB12345.src
 A      | /src/share/i18n/csmapper/GB/UCS%GB2312.src
 A      | /src/share/i18n/csmapper/GB/UCS%GB2312EXT.src
 A      | /src/share/i18n/csmapper/GB/UCS%GB2312UDA1.src
 A      | /src/share/i18n/csmapper/GB/UCS%GB2312UDA2.src
 A      | /src/share/i18n/csmapper/GB/UCS%GBKEXT.src
 A      | /src/share/i18n/csmapper/GB/UCS%GBKUDA.src
 A      | /src/share/i18n/csmapper/GB/UCS%ISO-IR-165EXT.src
 A      | /src/share/i18n/csmapper/GB/UCS@BMP%GB18030.src
 A      | /src/share/i18n/csmapper/GEORGIAN/GEORGIAN-ACADEMY%UCS.src
 A      | /src/share/i18n/csmapper/GEORGIAN/GEORGIAN-ACADEMY@OldCapital%UCS.src
 A      | /src/share/i18n/csmapper/GEORGIAN/GEORGIAN-PS%UCS.src
 A      | /src/share/i18n/csmapper/GEORGIAN/GEORGIAN-PS@OldCapital%UCS.src
 A      | /src/share/i18n/csmapper/GEORGIAN/UCS%GEORGIAN-ACADEMY.src
 A      | /src/share/i18n/csmapper/GEORGIAN/UCS%GEORGIAN-ACADEMY@OldCapital.src
 A      | /src/share/i18n/csmapper/GEORGIAN/UCS%GEORGIAN-PS.src
 A      | /src/share/i18n/csmapper/GEORGIAN/UCS%GEORGIAN-PS@OldCapital.src
 A      | /src/share/i18n/csmapper/ISO-8859/ISO-8859-10%UCS.src
 A      | /src/share/i18n/csmapper/ISO-8859/ISO-8859-11%UCS.src
 A      | /src/share/i18n/csmapper/ISO-8859/ISO-8859-13%UCS.src
 A      | /src/share/i18n/csmapper/ISO-8859/ISO-8859-14%UCS.src
 A      | /src/share/i18n/csmapper/ISO-8859/ISO-8859-15%UCS.src
 A      | /src/share/i18n/csmapper/ISO-8859/ISO-8859-16%UCS.src
 A      | /src/share/i18n/csmapper/ISO-8859/ISO-8859-2%UCS.src
 A      | /src/share/i18n/csmapper/ISO-8859/ISO-8859-3%UCS.src
 A      | /src/share/i18n/csmapper/ISO-8859/ISO-8859-4%UCS.src
 A      | /src/share/i18n/csmapper/ISO-8859/ISO-8859-5%UCS.src
 A      | /src/share/i18n/csmapper/ISO-8859/ISO-8859-6%UCS.src
 A      | /src/share/i18n/csmapper/ISO-8859/ISO-8859-7%UCS.src
 A      | /src/share/i18n/csmapper/ISO-8859/ISO-8859-8%UCS.src
 A      | /src/share/i18n/csmapper/ISO-8859/ISO-8859-9%UCS.src
 A      | /src/share/i18n/csmapper/ISO-8859/UCS%ISO-8859-10.src
 A      | /src/share/i18n/csmapper/ISO-8859/UCS%ISO-8859-11.src
 A      | /src/share/i18n/csmapper/ISO-8859/UCS%ISO-8859-13.src
 A      | /src/share/i18n/csmapper/ISO-8859/UCS%ISO-8859-14.src
 A      | /src/share/i18n/csmapper/ISO-8859/UCS%ISO-8859-15.src
 A      | /src/share/i18n/csmapper/ISO-8859/UCS%ISO-8859-16.src
 A      | /src/share/i18n/csmapper/ISO-8859/UCS%ISO-8859-2.src
 A      | /src/share/i18n/csmapper/ISO-8859/UCS%ISO-8859-3.src
 A      | /src/share/i18n/csmapper/ISO-8859/UCS%ISO-8859-4.src
 A      | /src/share/i18n/csmapper/ISO-8859/UCS%ISO-8859-5.src
 A      | /src/share/i18n/csmapper/ISO-8859/UCS%ISO-8859-6.src
 A      | /src/share/i18n/csmapper/ISO-8859/UCS%ISO-8859-7.src
 A      | /src/share/i18n/csmapper/ISO-8859/UCS%ISO-8859-8.src
 A      | /src/share/i18n/csmapper/ISO-8859/UCS%ISO-8859-9.src
 A      | /src/share/i18n/csmapper/ISO646/ISO646-BASIC@1983%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-CA%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-CA2%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-CN%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-CU%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-DE%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-DK%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-ES%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-ES2%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-FI%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-FR%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-FR1%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-GB%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-HU%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-IRV@1983%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-IT%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-JP%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-JP-OCR-B%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-KR%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-NO%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-NO2%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-PT%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-PT2%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-SE%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-SE2%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-US%UCS.646
 A      | /src/share/i18n/csmapper/ISO646/ISO646-YU%UCS.646
 A      | /src/share/i18n/csmapper/JIS/JISX0201-KANA%UCS.src
 A      | /src/share/i18n/csmapper/JIS/JISX0208@1978%UCS.src
 A      | /src/share/i18n/csmapper/JIS/JISX0208@1990%UCS.src
 A      | /src/share/i18n/csmapper/JIS/JISX0208@MS%UCS.src
 A      | /src/share/i18n/csmapper/JIS/JISX0208UDC%UCS.src
 A      | /src/share/i18n/csmapper/JIS/JISX0208VDC@NEC%UCS.src
 A      | /src/share/i18n/csmapper/JIS/JISX0212%UCS.src
 A      | /src/share/i18n/csmapper/JIS/JISX0212@MS%UCS.src
 A      | /src/share/i18n/csmapper/JIS/JISX0212UDC%UCS.src
 A      | /src/share/i18n/csmapper/JIS/JISX0212VDC@IBM%UCS.src
 A      | /src/share/i18n/csmapper/JIS/JISX0213-1%UCS@BMP.src
 A      | /src/share/i18n/csmapper/JIS/JISX0213-1%UCS@SIP.src
 A      | /src/share/i18n/csmapper/JIS/JISX0213-2%UCS@BMP.src
 A      | /src/share/i18n/csmapper/JIS/JISX0213-2%UCS@SIP.src
 A      | /src/share/i18n/csmapper/JIS/UCS%JISX0201-KANA.src
 A      | /src/share/i18n/csmapper/JIS/UCS%JISX0208@1978.src
 A      | /src/share/i18n/csmapper/JIS/UCS%JISX0208@1990.src
 A      | /src/share/i18n/csmapper/JIS/UCS%JISX0208@MS.src
 A      | /src/share/i18n/csmapper/JIS/UCS%JISX0208UDC.src
 A      | /src/share/i18n/csmapper/JIS/UCS%JISX0208VDC@NEC.src
 A      | /src/share/i18n/csmapper/JIS/UCS%JISX0212.src
 A      | /src/share/i18n/csmapper/JIS/UCS%JISX0212@MS.src
 A      | /src/share/i18n/csmapper/JIS/UCS%JISX0212UDC.src
 A      | /src/share/i18n/csmapper/JIS/UCS%JISX0212VDC@IBM.src
 A      | /src/share/i18n/csmapper/JIS/UCS@BMP%JISX0213-1.src
 A      | /src/share/i18n/csmapper/JIS/UCS@BMP%JISX0213-2.src
 A      | /src/share/i18n/csmapper/JIS/UCS@SIP%JISX0213-1.src
 A      | /src/share/i18n/csmapper/JIS/UCS@SIP%JISX0213-2.src
 A      | /src/share/i18n/csmapper/KAZAKH/KZ1048%UCS.src
 A      | /src/share/i18n/csmapper/KAZAKH/PTCP154%UCS.src
 A      | /src/share/i18n/csmapper/KAZAKH/UCS%KZ1048.src
 A      | /src/share/i18n/csmapper/KAZAKH/UCS%PTCP154.src
 A      | /src/share/i18n/csmapper/KOI/GOST19768-74%UCS.src
 A      | /src/share/i18n/csmapper/KOI/ISO-5427%UCS.src
 A      | /src/share/i18n/csmapper/KOI/KOI7%UCS.src
 A      | /src/share/i18n/csmapper/KOI/KOI8%UCS.src
 A      | /src/share/i18n/csmapper/KOI/KOI8-C%UCS.src
 A      | /src/share/i18n/csmapper/KOI/KOI8-CyrillicOld%UCS.src
 A      | /src/share/i18n/csmapper/KOI/KOI8-E%UCS.src
 A      | /src/share/i18n/csmapper/KOI/KOI8-R%UCS.src
 A      | /src/share/i18n/csmapper/KOI/KOI8-RU%UCS.src
 A      | /src/share/i18n/csmapper/KOI/KOI8-T%UCS.src
 A      | /src/share/i18n/csmapper/KOI/KOI8-U%UCS.src
 A      | /src/share/i18n/csmapper/KOI/UCS%GOST19768-74.src
 A      | /src/share/i18n/csmapper/KOI/UCS%ISO-5427.src
 A      | /src/share/i18n/csmapper/KOI/UCS%KOI7.src
 A      | /src/share/i18n/csmapper/KOI/UCS%KOI8-C.src
 A      | /src/share/i18n/csmapper/KOI/UCS%KOI8-CyrillicOld.src
 A      | /src/share/i18n/csmapper/KOI/UCS%KOI8-E.src
 A      | /src/share/i18n/csmapper/KOI/UCS%KOI8-R.src
 A      | /src/share/i18n/csmapper/KOI/UCS%KOI8-RU.src
 A      | /src/share/i18n/csmapper/KOI/UCS%KOI8-T.src
 A      | /src/share/i18n/csmapper/KOI/UCS%KOI8-U.src
 A      | /src/share/i18n/csmapper/KOI/UCS%KOI8.src
 A      | /src/share/i18n/csmapper/KS/JOHAB%UCS.src
 A      | /src/share/i18n/csmapper/KS/KSC5601HANGUL%UCS.src
 A      | /src/share/i18n/csmapper/KS/KSC5601HANJA%UCS.src
 A      | /src/share/i18n/csmapper/KS/UCS%JOHAB.src
 A      | /src/share/i18n/csmapper/KS/UCS%KSC5601HANGUL.src
 A      | /src/share/i18n/csmapper/KS/UCS%KSC5601HANJA.src
 A      | /src/share/i18n/csmapper/MISC/ATARIST%UCS.src
 A      | /src/share/i18n/csmapper/MISC/DECMCS%UCS.src
 A      | /src/share/i18n/csmapper/MISC/HP-ROMAN8%UCS.src
 A      | /src/share/i18n/csmapper/MISC/MULELAO-1%UCS.src
 A      | /src/share/i18n/csmapper/MISC/NEXTSTEP%UCS.src
 A      | /src/share/i18n/csmapper/MISC/RISCOS-LATIN1%UCS.src
 A      | /src/share/i18n/csmapper/MISC/TDS565%UCS.src
 A      | /src/share/i18n/csmapper/MISC/UCS%ATARIST.src
 A      | /src/share/i18n/csmapper/MISC/UCS%DECMCS.src
 A      | /src/share/i18n/csmapper/MISC/UCS%HP-ROMAN8.src
 A      | /src/share/i18n/csmapper/MISC/UCS%MULELAO-1.src
 A      | /src/share/i18n/csmapper/MISC/UCS%NEXTSTEP.src
 A      | /src/share/i18n/csmapper/MISC/UCS%RISCOS-LATIN1.src
 A      | /src/share/i18n/csmapper/MISC/UCS%TDS565.src
 A      | /src/share/i18n/csmapper/TCVN/TCVN5712-1%UCS.src
 A      | /src/share/i18n/csmapper/TCVN/UCS%TCVN5712-1.src
 A      | /src/share/i18n/csmapper/TCVN/UCS%VISCII.src
 A      | /src/share/i18n/csmapper/TCVN/VISCII%UCS.src
(502 rows)

freshports.org=#
Website Pin Facebook Twitter Myspace Friendfeed Technorati del.icio.us Digg Google StumbleUpon Premium Responsive

Leave a Comment

Scroll to Top