I have a Drupal 7 installation working with Oracle 11g database with Apache/2.2.12 (Linux/SUSE) and PHP/5.3.8

The problem I face is that special characters are not displayed correctly. Instead two question marks ('??') are shown.

I've been able to correct some static pieces of content (in blocks) converting the characters to their corresponding html entity. However, new content and menus dont support this.

I would like to know how to show those characters correctly.

1 Answer 1


Check you are using UTF8 character set in Oracle database, and in apache config. For data in Oracle db that is not UTF8 be careful if you need to convert, you need to identify what the original characterset is and the best way to convert to UTF8.

The general rule of thumb is that if you are using UTF8 all the way you should not see those question marks in the browser.

Take a look here for Oracle UTF8 conversion info: https://stackoverflow.com/questions/8239250/how-to-configure-utf8-character-set-in-oracle

  • Changes The values for these variables in the DB already are NLS_CHARACTERSET : AL32UTF8 NLS_NCHAR_CHARACTERSET : AL16UTF16 The following lines have been added to the httpd.conf file AddDefaultCharset UTF-8 SetEnv NLS_LANG AMERICAN_AMERICA.AL32UTF8 And for the headers in every page, using html.tpl.php template, this was already done: <meta http-equiv='Content-Type' content='text/html; charset=utf-8'> Even in the template.php file these lines are present for the html_head_alter hook $head_elements['system_meta_content_type']['#attributes'] = array('charset' => 'utf-8'); I still get the same
    – AlexAMG
    Feb 14, 2013 at 20:37

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.