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:


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.


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.

Found this article interesting? Subscribe to Tips and Tricks HQ

email icon rss feed icon twitter icon google plus icon

Comments (24 responses)

  1. 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.

  2. Gwendal Bello says:

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

  3. 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

  4. Aly says:

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

  5. Myrthe says:

    youre my hero! Thanks a lot!

  6. 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!

  7. Antonio says:

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

  8. 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

  9. Keith Hennessey says:

    This worked like a charm. Thank you!

  10. 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.

  11. Vitaliy says:

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

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

  13. 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!!!

  14. 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!

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

  16. 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

  17. 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!

  18. Jesper Wilfing says:

    Aight.. I managed to solve this by changing the coding of the PHP pages themself with notepad++:

  19. 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.


  20. 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.

  21. 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.


  22. 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