I'm getting the following error notice in phMyAdmin:
"The mbstring PHP extension was not found and you seem to be using multibyte charset. Without mbstring extension phpMyAdmin is unable to split strings correctly and it may result in unexpected results."
This is an install on a Win2003 Server, my first on a machine with "asian languages" enabled, otherwise i've had many succesful php/mysql install on win2003.
My question is, if I have no intention of storing content in any asian languages on this server, should I still install the mbstring extension? Does the extension degrade performance or increases database size in anyway?
I would think it would only cause a performance hit when you start up the server and perhaps take up a slight bit of extra memory.
Otherwise, it should not affect anything unless you actually use the multi-byte functions. If you don't, the text will still be stored using the ISO-8859-1 character set just like always. No effect on database size whatsoever.
So I should install it, to clear the error, and it should have minimal (if any effect) on performance.
Or, I can choose not to install it, and the database will only hold western characters?
Hope I got that right.
Actually, you don't really have that right.
Whether or not the DB only has western characters in it and whether or not you have multi-byte enabled in PHP are two completely separate issues. Essentially, it is a specific case of asking whether or not having PHP installed will affect the size of your MySQL database. Answer: it all depends on what your are doing with PHP. If PHP is not your means of interacting with the DB (e.g. you access it through Perl), then PHP has no effect whatsoever on the size of your DB. On the other hand, if you write a PHP script that is supposed to access the DB, you had best have PHP installed. Other than at server startup, having PHP installed won't really negatively affect the performance of you server.
Similarly, if you have the multi-byte extensions enabled, this in and of itself has no effect whatsoever on your data and your database unless you use them to input characters that are not part of the ISO-8859-1 character set. In that case, it would be better to do it in a manner that is correct and have the MB extensions installed.
I don't really see a downside to having MB enabled except that it will take a couple of microseconds longer for the server to start up. I'm not sure, but I don't think it will even affect memory usage unless you actually invoke the mb_* functions, since I believe the MB module is not loaded until needed.
This is also not a western/non-western issue. I have nothing but western characters in any database, but because many western punctuation marks lie outside the ISO-8859-1 set, sometimes the multi-byte extensions come in handy.
Thanks for detailing it out, regarding the difference between php (the language) and mysql (the database).
Thinking the issue out in terms of flexibility in characters/punctuations, i should install mbstring.
I had the same mbstring problem before and the following is solution that I found from some other forum.
Open your php.ini and find
then remove the ; at the beginning of this line.
The error message will disappear.
Hope this may help.
Thanks mms19, i'll try that out today.
Sorry. From your initial question, I thought you knew how to enable it but were asking whether or not you should.