I've inherited an EE2.6 site, which was migrated from EE v1 by another developer.

There are many articles that contain '?' characters throughout the text when displayed, they appear to be windows extended chars, and there are 1000's of articles, so too many to change by hand.

How can I get these to display correctly? I have tried changing the encodings, on the page, and on the database connection, didn't help.

database settings:

['char_set'] = 'utf8';

['dbcollat'] = 'utf8_general_ci';


$config['charset']  =  "UTF-8"

Will I have to run a global replace on the channel_data? Not sure I can identify and map all the original characters!

Alternatively can I use WIGWAM's 'paste from word' option retrospectively on existing content somehow?

  • How do these characters appear within the entries themselves? Are they readable, or are they question marks/missing characters there as well? What type of field are they in? You mentioned WYGWAM, but are you adding that or is that their current fieldtype? If they're in Wygwam fields, then click the "View Source" button to see how they appear under the hood.
    – dashard
    Commented Aug 28, 2014 at 20:22
  • Hi dashard, sorry for the slow response, I've been away. The charcters are displayed as 3 '?' and appear to replace MS windows characters, such as apostrophes and quotation marks. They are ordinary text fields and the ? characters are still visible when I view the source.
    – wot
    Commented Sep 15, 2014 at 14:15
  • I may have been unclear: how do they appear when you view the Wygwam source? If your response was that they are showing up in the source of Wygwam, then that's your problem. They need to be cleaned up manually if it's not doing it for you. Wygwam's pretty excellent at converting fiddly characters to entities, but if it's not, somehow, you're going to need to do it yourself. How? That's the next question.
    – dashard
    Commented Sep 15, 2014 at 14:23
  • They aren't wygwam fields, they are Textarea (Rich Text) fields.
    – wot
    Commented Sep 15, 2014 at 14:39

1 Answer 1


I found the cause; the original EE1 data was held in tables that were set to the default collation 'latin1_swedish_ci'.

The previous dev had exported this data as 'utf8' (phpmyadmin's default export setting, and maybe ExpressionEngine's upgrade script setting?), hence the '?'s, it needed to be exported as 'latin1', and then converted to UTF8 (I used textpad to do this).

  • Please accept your answer as correct. This will help everyone who has same problem to find the solution. Commented Feb 23, 2015 at 16:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.