I use the following pattern search:\[code\]preg_match_all('/\b('.$q.'\w*)/ui', '$text', $matches);\[/code\]which is intended to match whole words starting by query in czech texts.It works perfectly as intended on my wamp with php 5.3.18. On debian server with php 5.3.3 (PCRE has utf-8 enabled), and also in this tester http://www.functions-online.com/preg_match_all.html it behaves weirdly.Try this case: look for '?' in '?elo ko?ka' and it will only match '?ka', which is even worse than finding nothing. But - when I search for 'c' in 'celo kocka' it finds only 'celo', which is the intended behavior.Ok, now to add some fun to it, we have just discovered that it is the 'u' modifier. When removed on the server or the tester above, it starts working correctly (and it shoud not, right?), and when removed in my wamp, it starts behaving exactly like the tester with the 'u'.