Character encoding issue after changing servers

I recently moved my WordPress-based site from DreamHost VPS to a Linode VPS running Debian + LEMP. After getting the site up again, I noticed many erroneous characters in posts; characters like ” and – were being replaced with gibberish.

After doing some looking, it seemed clear that the issue was something related to character encoding.

Read More

I found a guide that suggested editing wp-config.php and commenting out the lines:

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

I did this and it fixed the problem, but I’m wondering if that was the best way to go about it. Thank you for any advice.

Related posts

Leave a Reply

4 comments

  1. After spending the entire day working on this, I finally found a guide that worked perfectly:

    Before that, I tried following @Rarst’s information, tried exporting the database and manually cleaning it, tried the UTF-8 Sanitize Plugin with a modified version from here http://www.prelovac.com/vladimir/ultimate-solution-to-weird-utf-character-encoding-problem (which actually worked pretty well, but didn’t fix all the characters. And was probably a terrible idea).

    Anyway, if any of you ever encounter this problem, check out the first link I posted. The procedure was pretty simple and basically came down to replacing SET NAMES latin1 with SET NAMES utf8 after exporting the database, then making sure to import the new cleaned database explicitly as UTF8.

  2. Here is another solution which worked for me…

    just comment DB_CHARSET and DB_COLLATE in wp-config.php

    //define('DB_CHARSET', 'utf8');
    
    //define('DB_COLLATE', '');
    
  3. I transitioned my website files from an old to new directory and I was able to modify:

    define(‘DB_CHARSET’, ‘utf8mb4’);

    to

    define(‘DB_CHARSET’, ‘utf8’);

    And this resolved the black diamond whitespace issue.