You are here

function drupal_convert_to_utf8 in Drupal 7

Same name and namespace in other branches
  1. 4 includes/unicode.inc \drupal_convert_to_utf8()
  2. 5 includes/unicode.inc \drupal_convert_to_utf8()
  3. 6 includes/unicode.inc \drupal_convert_to_utf8()

Converts data to UTF-8.

Requires the iconv, GNU recode or mbstring PHP extension.

Parameters

$data: The data to be converted.

$encoding: The encoding that the data is in.

Return value

Converted data or FALSE.

2 calls to drupal_convert_to_utf8()
drupal_xml_parser_create in includes/unicode.inc
Prepares a new XML parser.
_mime_header_decode in includes/unicode.inc
Decodes encoded header data passed from mime_header_decode().

File

includes/unicode.inc, line 237
Provides Unicode-related conversions and operations.

Code

function drupal_convert_to_utf8($data, $encoding) {
  if (function_exists('iconv')) {
    $out = @iconv($encoding, 'utf-8', $data);
  }
  elseif (function_exists('mb_convert_encoding')) {
    $out = @mb_convert_encoding($data, 'utf-8', $encoding);
  }
  elseif (function_exists('recode_string')) {
    $out = @recode_string($encoding . '..utf-8', $data);
  }
  else {
    watchdog('php', 'Unsupported encoding %s. Please install iconv, GNU recode or mbstring for PHP.', array(
      '%s' => $encoding,
    ), WATCHDOG_ERROR);
    return FALSE;
  }
  return $out;
}