Settings Error: Multibyte string input conversion in PHP

I have installed Drupal 4.7 and everything is working correctly except:

1) an error I am getting on the page when I go to administer>settings.

It reads:

Multibyte string input conversion in PHP is active and must be disabled.
Check the php.ini mbstring.http_input setting. Please refer to the PHP mbstring
documentation for more information.

2)Also, when I go under settings>string handling, it reads:

String handling method:

Invalid: the current configuration is incompatible with Drupal.

3)I also read this is the include>unicode.inc file:

* Perform checks about Unicode support in PHP, and set the right settings
if needed.

* Because Drupal needs to be able to handle text in various encodings, we do not support mbstring function overloading. HTTP input/output conversion must be disabled for similar reasons.



I am not familiar with PHP and this is my first installation of this kind. I
have tried to contact my host and get support, but they reply that there is
no problem with the mstring function and directed me to reinstall Drupal. I
am not sure if this is true. I do not have access to the php.ini file to personally
check if the setting is enabled or disabled. I really don't understand a whole
lot about it and do not know if I have made an error in installing Drupal or
if my hosting company just does not want to give me access to what I need to
correct this problem. My hosting company uses MySQL and phpMyAdmin. I do not
know if that is relevant or not.

I would so much appreciate any help with this. Again, I am new to this and
would appreciate if someone could expain the problem to me in layman's terms.
I would also like to know if the problem is my installation(if so, explain how
to correct), or if I need to talk with my hosting company further.

Thank you so much!

Comments

Peli-1’s picture

I have the same problem, and don't know how to solve it :(

Davorin
www.em3r10.com

shaneeloe’s picture

I had the same problem, (I just installed drupal for the first time today) and I looked around and I decided to add a couple items to the php settings in the settings.php file. I added these lines to the other ini_set items:

ini_set('mbstring.http_input', 'pass');
ini_set('mbstring.http_output', 'pass');

The error has gone away, and I don't anticipate any other problems, but I just did it today so I'm not sure.

Shane

http://www.morningfiasco.com

Agent3’s picture

Shaneeloe,

Just wondering if your soltution worked fine after some time. Since I just used it to fix a similar problem.

netbjarne’s picture

Add me to the list of wondering people

I suddenly had this problem on several sites. Added the to lines to the settings.php file, an now there gone.

Is there any side-effects to this cure?

Bjarne

FredCK’s picture

Looking at the mbstring documentation (http://pl2.php.net/mbstring), the above are the default values for those settings. So, theoretically, there would be no problem on using them. Maybe (and this is a guess) you could have issues on very specific cases (depending on your code), when handling text input with multibyte characters (like Chinese).

Milkrow’s picture

I followed the instructions above by adding:

ini_set('mbstring.http_input', 'pass');
ini_set('mbstring.http_output', 'pass');

to the ini area of settings.php and it fixed the issue I was having with the mbstring error when running update.php.