From: David M. <dav...@un...> - 2006-10-13 04:10:38
|
Thanks to everyone for their help. The solution was as you have described - just enabling the php_mbstring.dll, except that I took the opportunity to upgrade php and switch to ISAPI while I was at it. Thanks again... Regards, Dave. S Page wrote: > David Macdonald wrote: >> I've installed SemanticMediawiki version 0.5 in my Wiki. Simple >> queries work okay, but if I put a wildcard in a query, I get a PHP >> error. A sample query: >> >> <ask>[[category:Pc]][[asset:=*]]</ask> >> >> gives this error when the page is previewed or saved: >> >> Fatal error: Call to undefined function mb_strpos() in >> e:\wikiweb\testwiki\extensions\SemanticMediaWiki\includes\SMW_InlineQueries.php >> on line 416 >> >> Versions: >> >> MediaWiki: 1.7.1 >> PHP: 5.1.1 (cgi-fcgi) > > According to http://us2.php.net/manual/en/function.mb-strpos.php , > mb_strpos() has always been part of PHP version 5, however you need to > configure in multibyte string support. > http://us2.php.net/manual/en/ref.mbstring.php talks about this. > > I'm running the same PHP version (PHP: 5.1.1 (apache2handler)) as part > of the XAMPPLITE Windows bundle and the function works without any > special configuration. My only relevant setting is > extension=php_mbstring.dll (without a semicolon in front) in php5.ini. > Check to see that you have this and the DLL is present in your php\ext > directory. For runtime info about extensions, look for a phpinfo.php in > your Web server and run it, or create a test.php file with just > <?php > phpinfo(); > ?> > in it and run that. > > > By the way, SMW uses multibyte-aware functions because a semantic > property could have a special symbol or character in it encoded in > multiple bytes, one of which matches '|'. You *could* reconfigure your > site to use a single-byte encoding like ISO-8559-1 or Windows 1252 > (instead of MediaWiki's default UTF-8) and replace mb_strpos() with > strpos(), but that's very limiting. > > Good luck, > -- > =S Page |