You are here

protected function DatabaseTasks_pgsql::checkEncoding in Drupal 7

Check encoding is UTF8.

File

includes/database/pgsql/install.inc, line 44
Install functions for PostgreSQL embedded database engine.

Class

DatabaseTasks_pgsql

Code

protected function checkEncoding() {
  try {
    if (db_query('SHOW server_encoding')
      ->fetchField() == 'UTF8') {
      $this
        ->pass(st('Database is encoded in UTF-8'));
    }
    else {
      $replacements = array(
        '%encoding' => 'UTF8',
        '%driver' => $this
          ->name(),
        '!link' => '<a href="INSTALL.pgsql.txt">INSTALL.pgsql.txt</a>',
      );
      $text = 'The %driver database must use %encoding encoding to work with Drupal.';
      $text .= 'Recreate the database with %encoding encoding. See !link for more details.';
      $this
        ->fail(st($text, $replacements));
    }
  } catch (Exception $e) {
    $this
      ->fail(st('Drupal could not determine the encoding of the database was set to UTF-8'));
  }
}