00857: non english characters are shown incorrectly in the trail
Description: When the trail links in the trail index page have description containing some non english characters, the trail markup behaves incorrectly. Example:
trail index contents:
* [[Page1 | strona biała]] * [[Page2 | strona zółta]] * [[Page3 | strona zielona]]Page2 contents:
<<|[[TrailIndex | Spis treści]]|>>looks now:
<< strona bia&#322;a | Spis treści | strona zielona >>should be:
<< strona biała | Spis treści | strona zielona >>
Root cause
The problem is caused by function htmlspecialchars. It does not recognize &#<int>; as an html entity. Because of that &
sign is converted to &
and the trail strings are displayed incorrectly.
Changing line
foreach(explode("\n", htmlspecialchars(@$trailpage['text'], ENT_NOQUOTES))
to:
foreach(explode("\n", @$trailpage['text'])
solves this problem, but probably causes some side effects.
Hi. I do not consider this a PmWiki bug. If your wiki is in another language like Polish, Greek or Bulgarian, you need to use a character encoding that contains all letters in that language. PmWiki has decent support for UTF-8, a universal encoding for all languages. See PmWiki.UTF-8 and Cookbook.UTF-8 for more information. --Petko July 07, 2009, at 10:23 PM