Last modified: 2008-06-08 16:03:53 UTC
When I try to search by property that has non-english name,
inline query returns nothing.
The page "/wiki/Special:SearchByProperty/.../..." gives proper results.
English names also work fine.
This bug cannot be reproduced at http://sandbox.semantic-mediawiki.org/
SMW: 1.1.1 (converted from 0.7)
OS: Debian 4.0 i586
Created attachment 4881 [details]
That patch seems to solve the issue
Columns in temporary tables need to be created as 'character set utf8 collate utf8_bin' instead of 'binary'.
Please attach unzipped patch.
We create all SMW tables with "binary", while "utf8" is an experimental setting used on some MediaWiki installations. The new SMW store will hardly rely on any MediaWiki tables, so it should be fine to use "binary". Otherwise, the code has to know what format the MediaWiki tables are in (or there would probably be a MySQL collation error). Setting the format to hardcoded utf8 is not an option.
I set this bug to WORKSFORME since I believe it should work in the new storage engine (it has no string fields in the temporary tables at all). This new store will be released with the next SMW version. If you run the development version of SMW, you can try this out already as follows:
(1) Run the maintenance script
SMW_setup.php -b SMWSQLStore2
(2) Run the maintenance scripts
SMW_refreshData.php -vtpb SMWSQLStore2
SMW_refreshData.php -vb SMWSQLStore2
These are long-running scripts. Please check your memory use while using them (there are PHP memory leaks in PHP 5 that consume much memory). Use the parameters -s and -e to refresh your wiki in chunks if needed.
(3) Insert the line
$smwgDefaultStore = 'SMWSQLStore2';
into your LocalSettings.php. Only this switches your storage engine. Try some pages afterwards, and comment out the line again if you wish to use the old SMWSQLStore engine again. Please report any troubles here or on the support mainling list semediawiki-user.