My PHP code receives a $request
from an AJAX call. I am able to extract the $name
from this parameter. As this name is in German, the allowed characters also include ä, ö and ü.
I want to validate $name = "Bär"
via preg_match
. I am sure, that the ä is correctly arriving as an UTF-8 encoded string in my PHP code. But if I do this
preg_match('/^[a-zA-ZäöüÄÖÜ]*$/', $name);
I get false
, although it should be true
. I only receive true
in case I do
preg_match(utf8_encode('/^[a-zA-ZäöüÄÖÜ]*$/'), $name);
Can someone explain this to me and also how I set PHP to globaly encode every string to UTF-8?