[pmwiki-users] Wiki page fails to render when non-ASCII characters are included

John Rector jar at ipac.caltech.edu
Thu May 17 02:04:26 CDT 2012


Problem Description:

I copied a 4 year old PmWiki farm to a new machine. Pages that contain
special characters (non-ASCII), like umlaut 'u', cause a page not to
render on the new configuration, while they did on the original
configuration. However, if the special characters are removed with a text
editor, the page, which is in wiki.d, and has content, again renders. 
(Configuration changes included updates to the OS, Apache httpd, PHP, and
PmWiki, see detail below.)

Test:

I next installed a new version of PmWiki and created a test page,
Main.TestPage. I inserted two paragraphs contain only ASCII characters in
it and saved the page. The page rendered. I edited the page. This time, I
include a paragraph with the name Müller, containing an umlaut 'u', in it.
The page did not render. I then used vim to edit the page in wiki.d and
removed the umlaut 'u'. After that, the page rendered again.

I turned on PHP default (production) logging, but saw nothing. No clues in
the httpd logs either.

Does anyone have an idea of why this is happening?

Information about the configuration follows.

================================ The page from wiki.d/Main.TestPage (IP's
removed)

version=pmwiki-2.2.37 ordered=1 urlencoded=1
agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/534.57.2
(KHTML, like Gecko) Version/5.1.7 Safari/534.57.2
author=
charset=ISO-8859-1
csum=
ctime=1337216829
host=
name=Main.TestPage
rev=2
targets=
text=paragraph one%0a%0aparagraph two%0a%0athis is Müller%0a%0aparagraph
three
time=1337216899
author:1337216899=
diff:1337216899:1337216829:=4,7d3%0a%3c %0a%3c this is Müller%0a%3c %0a%3c
paragraph three%0a\ No newline at end of file%0a
host:1337216899=
author:1337216829=
diff:1337216829:1337216829:=1,3d0%0a%3c paragraph one%0a%3c %0a%3c
paragraph two%0a
host:1337216829=

=============================
Configuration Information:

OS
Xen virtual machine
Red Hat Enterprise Linux Server release 5.8 (Tikanga)
SELinux status:                 disabled

Compiler
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-52)

Apache httpd-2.2.22
./configure --prefix=/usr/local/httpd-2.2.22 \
	--enable-so \
	--enable-modules=all \
	--enable-mods-shared=all \
	--enable-dav \
	--enable-dav-lock \
	--enable-ssl \
	--with-ssl=/usr/local/openssl \
	--with-included-apr

PHP-5.4.1
./configure \
	--prefix=/usr/local/php-5.4.1 \
	--with-apxs2=/usr/local/apache/bin/apxs \
	--with-config-file-path=/etc/php \
	--with-config-file-scan-dir=/etc/php \
	--disable-cgi \
	--with-openssl \
	--with-zlib \
	--with-gettext \
	--with-pcre-regex \
	--enable-mbstring \
	--enable-mbregex \
	--enable-libxml \
	--enable-sockets \
	> configure.out

PmWiki-2.2.37

Configuration Files:

PmWiki:

================================ index.php
<?php include_once('pmwiki.php');

================================ local/config.php
<?php if (!defined('PmWiki')) exit();
$WikiTitle = "My New Wiki";
$PageLogoUrl = "http://example.com/mylogo.gif";

# Uncomment these if needed
$ScriptUrl = 'https://server.name/wiki/pmwiki.php';
$PubDirUrl = 'https://server.name/pub';

$DefaultPasswords['admin'] = crypt('onesecret');

$EnableUpload = 1;
$DefaultPasswords['upload'] = crypt('secrettwo');

# Uncomment and change these if needed
# putenv("TZ=EST5EDT"); # if you run PHP 5.0 or older
date_default_timezone_set('America/Los_Angeles'); # if you run PHP 5.1 or
newer

$TimeFmt = '%B %d, %Y, at %I:%M %p EST';

================================ Part of Apache HTTPD config file for SSH
VirtualHost

	Alias /wiki /path/to/directory/wiki/
	<Directory  /path/to/directory/wiki/>
		Order allow,deny
		Allow from all
	</Directory>


================================ Parts of the PHP configuration file
obtained by running php -i

iconv

iconv support => enabled
iconv implementation => glibc
iconv library version => 2.5

Directive => Local Value => Master Value
iconv.input_encoding => ISO-8859-1 => ISO-8859-1
iconv.internal_encoding => ISO-8859-1 => ISO-8859-1
iconv.output_encoding => ISO-8859-1 => ISO-8859-1

libxml

libXML support => active
libXML Version => 2.6.26
libXML streams => enabled

mbstring

Multibyte Support => enabled
Multibyte string engine => libmbfl
Multibyte (japanese) regex support => enabled
Multibyte regex (oniguruma) version => 3.7.1

mbstring extension makes use of "streamable kanji code filter and
converter", which is distributed under the GNU Lesser General Public
License version 2.1.

Directive => Local Value => Master Value
mbstring.detect_order => no value => no value
mbstring.encoding_translation => Off => Off
mbstring.func_overload => 0 => 0
mbstring.http_input => pass => pass
mbstring.http_output => pass => pass
mbstring.internal_encoding => ISO-8859-1 => no value
mbstring.language => neutral => neutral
mbstring.strict_detection => Off => Off
mbstring.substitute_character => no value => no value

mime_magic

mime_magic support => invalid magic file, disabled

Directive => Local Value => Master Value
mime_magic.debug => Off => Off
mime_magic.magicfile => /usr/share/file/magic.mime =>
/usr/share/file/magic.mime

pcre

PCRE (Perl Compatible Regular Expressions) Support => enabled
PCRE Library Version => 6.6 06-Feb-2006

Reflection

Reflection => enabled
Version => $Id: php_reflection.c,v 1.164.2.33 2006/03/29 14:28:42 tony2001
Exp $

standard

Regex Library => Bundled library enabled

xml

XML Support => active
XML Namespace Support => active
libxml2 Version => 2.6.26






More information about the pmwiki-users mailing list