gerardnico For what I understand then, it means that if your php file is saved with the default character set of the OS, a literal string value will then take the same character set than your OS.
Hmm not really. PHP will save whatever bytes you give it to save. You have to ensure it's encoded correctly. The OS' locale has nothing to do with it.
Locales generally set locality defaults. Like what is your decimal divider (, or .), how should your dates be formatted, what are the names of the months, how to sort, etc. The charset is only important for a few of those settings. For example the ones below
gerardnico Where does the problem occurs with localized character ranges ? If you get the bytes encoded in UTF8, it shouldn't, no ?
When you use a regular expression character class like
:alpha: in unicode mode, PCRE needs to know what you consider a letter in your country. Eg. I consider äüö characters in my language. But you may want αβγ as letters. This is influenced by your locale, but to have it work correctly, those letters need to be utf-8 encoded in your locale, or the won't match the input which is utf-8.
Note: I'm not sure it actually applies to the
:alpha: class but you get the general idea and there are other places where something like this happens. It's mostly not a big deal if it's wrong and I can't pinpoint any exact location in DokuWiki that will break with a non-UTF-8 locale but there were some minor annoyances in the past and that's why the warning is there.
Anyway this is now completely off-topic to the initial question and discussing general UTF-8, Unicode and locale handling in PHP is quite a bit out of scope for this forum, too. So let's leave it at that.