How to Fix the Character Encoding Problem in WordPress

I recently changed my web hosting again in an attempt to speed up the page load time of my website. I had to do it as the former hosting’s page response time was horrible. It was taking 9 seconds for my home page to load with the former hosting. Now my home page loads under 4 seconds! It’s amazing the difference it makes… now I don’t get angry when browsing my own site (I wonder what my visitors were thinking while waiting for the page to load!).

Anyway, The transfer was smooth but I had a slight issue that I noticed after the transfer. There were special characters similar to the following scattered throughout my blog posts:

special-char-example

I was pretty sure that this was a character encoding mismatch problem. I got a little scared thinking it would take a long time to fix but then I found a really easy way to solve it.

code-encoding-icon-275

Fixing the Character Encoding Mismatch Problem in WordPress

Step 1) Open the ‘wp-config.php’ file in a text editor such as notepad (the wp-config.php file can be found on the directory where you installed WordPress).

Step 2) Find the following two lines and comment them out:

define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

They should look like the following after you comment them out:

//define('DB_CHARSET', 'utf8');
//define('DB_COLLATE', '');

Step 3) Now upload the updated ‘wp-config.php’ file to your webhost (overwriting the old one).

This character encoding problem can happen after a database upgrade too so it doesn’t hurt to keep this trick in your mind just in case.

Comments (25 responses)

  1. kentaro says:

    Cheers mate!

    Just worked like a charm

  2. Jesse says:

    I’m getting a similar error “Malformed UTF-8 characters, possibly incorrectly encoded” when creating a form and unfortunately this didn’t fix it. I guess this is a different issue.

  3. Gwendal Bello says:

    Thank you so much 😀
    I had this problem on few websites and you just saved me hours of work.

  4. sadeer says:

    I don’t know how I can kiss you, you just saved my life thank you very much man I had a minor heart attack after thousands of records went to rubbish I love you god bless you

  5. Aly says:

    THANK YOU. People kept telling me it was a propagation problem but I knew it wasn’t. 🙂 !!

  6. Myrthe says:

    youre my hero! Thanks a lot!

  7. Bart says:

    Thanks alot for this tip; it helped me resolve the issue where WP sort of “deletes” all content after using special characters. This tip saved me a lot of work and searching, since it supposedly also had something to do with PHP settings of my host who wasn’t able to change this. Thanks!

  8. Antonio says:

    This trick, help us a lot and save us 4 hours of work!
    Thanks!

  9. Rahul says:

    Thanks a lot, i was not able to save posts in admin, they were just saving half till some special character or double space, it worked like a wonder, thank a lot

  10. Keith Hennessey says:

    This worked like a charm. Thank you!

  11. Dave says:

    THANK YOU! We actually needed to ADD “define( ‘DB_CHARSET’, ‘utf8’);” IN on the wp-config file when we had this issue moving from Dreamhost to Hostgator. But it worked like a charm on a 500+ page website. This literally saved us dozens of hours.

  12. Vitaliy says:

    Thank you for saving me a TON of time. This helped me out after a DB restoration,

  13. You´ve just saved my blog! Transfered to another server. Thank you.

  14. I had similar problem during some plugin fixing but unfortunately this was not solution for my problem.

    Apparently it was not up to db charset/collation but symptoms were just the same…

    BUT (in case someone is in the same jam):
    have opened file in Dreamweaver –> checked out if encoding is unicode utf-8, ok –> Save As with checked “Include Unicode Signature (BOM)” in the Save As dialog and ta-daaa!!!

  15. Thanks a lot – this issue has been investigated by the hosting company for 3 weeks to no avail. I thought I’d take a quick look myself and found your post. Really helpful!

  16. Awesome man,You have saved me from getting fired. I have been struggling with this character encoding problem since many days. Thanks alot.

  17. tisa3com says:

    thank you very much for this soluttion, but i find only line :

    define(‘DB_CHARSET’, ‘utf8’);

    and i remplaces with

    define(‘DB_CHARSET’, ‘utf8’);

    and that’s work ^^

    thank you

  18. Jessi says:

    THANK YOU!!!!!!!!!!!!!!!! I’ve been struggling with this for over a year with one of my wordpress sites and your post is the first and only simple solution….that worked! Thank you so much!

  19. Jesper Wilfing says:

    Aight.. I managed to solve this by changing the coding of the PHP pages themself with notepad++:
    http://wordpress.org/support/topic/401149?replies=2

  20. Jesper says:

    Arghh.. it didn’t help me… I still gret ����� characters instead of É´å ä ö … Really anoying. Any ideas? Source of the text is both from database and from pages.

    /Jesper

  21. admin says:

    Hi Charles, I switched to InMotion Hosting. Yeah so far I am happy with them. I really hate it when a webhosting company puts you on an overpopulated server and your site runs like a dog.

  22. Charles says:

    What web host did you switch to?
    Your site is indeed faster now and I’m sure the web host plays a role.

    best,
    Charles

  23. I had that once when I backed up my database and then had to reload it as it was corrupt. At that stage I had a few posts so I actually ended up edit the posts one by one.

    I will remember this tip if it happens again.

Speak Your Mind

*