Table of Contents
Configuration Setting: fnencode
DokuWiki stores the content of a page in a .txt file named after the page's name. To avoid problems when the pagename contains special characters or non-ASCII letters and the underlying file system doesn't support them, DokuWiki uses an encoding mechanism. Which mechanism is used can be configured with this setting.
- Type: String
- Default:
url
- Possible values:
url
– use URL encoding, can produce very long filenamessafe
– use more compact encoding (recommended)utf-8
– use no encoding at all and store filenames in UTF-8
Warning: Changing this option could cause unintended behaviour. By changing it you can make pages created under a previous setting inaccessible.
Please also note that storing UTF-8 filenames might not be possible with all file systems. Windows systems have been reported to not work with this setting. (See discussion below).
url
encoding for non-latin languages makes filenames too long and this can cause a problem for systems that are limited to 255 characters per filename. That is why it is better to use safe
encoding for non-latin languages, which is approximately 60% shorter than url
encoding.
See also
Discussion
On migrating in Windows to PHP 7.1
- PHP has UTF-8 support for Windows since PHP 7.1. To convert “gibberish” utf-8 file names in Windows, created by previous versions of PHP, see this tool: https://github.com/chang-zhao/encoding
- To enable UTF-8 on windows servers, PHP 7.1 or higher is required. Notice that DokuWiki on a stick comes with MicroApache and PHP 5, which should be updated manually from the official repo or other WAMP distributions.