public static function Unicode::check in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/lib/Drupal/Component/Utility/Unicode.php \Drupal\Component\Utility\Unicode::check()
Checks for Unicode support in PHP and sets the proper settings if possible.
Because of the need to be able to handle text in various encodings, we do not support mbstring function overloading. HTTP input/output conversion must be disabled for similar reasons.
Return value
string A string identifier of a failed multibyte extension check, if any. Otherwise, an empty string.
4 calls to Unicode::check()
- DrupalKernel::bootEnvironment in core/
lib/ Drupal/ Core/ DrupalKernel.php - Setup a consistent PHP environment.
- UnicodeTest::setUp in core/
tests/ Drupal/ Tests/ Component/ Utility/ UnicodeTest.php - @covers ::check
- unicode_requirements in core/
includes/ unicode.inc - Returns Unicode library status and errors.
- _drupal_maintenance_theme in core/
includes/ theme.maintenance.inc - Sets up the theming system for maintenance page.
File
- core/
lib/ Drupal/ Component/ Utility/ Unicode.php, line 150 - Contains \Drupal\Component\Utility\Unicode.
Class
- Unicode
- Provides Unicode-related conversions and operations.
Namespace
Drupal\Component\UtilityCode
public static function check() {
// Check for mbstring extension.
if (!function_exists('mb_strlen')) {
static::$status = static::STATUS_SINGLEBYTE;
return 'mb_strlen';
}
// Check mbstring configuration.
if (ini_get('mbstring.func_overload') != 0) {
static::$status = static::STATUS_ERROR;
return 'mbstring.func_overload';
}
if (ini_get('mbstring.encoding_translation') != 0) {
static::$status = static::STATUS_ERROR;
return 'mbstring.encoding_translation';
}
// mbstring.http_input and mbstring.http_output are deprecated and empty by
// default in PHP 5.6.
if (version_compare(PHP_VERSION, '5.6.0') == -1) {
if (ini_get('mbstring.http_input') != 'pass') {
static::$status = static::STATUS_ERROR;
return 'mbstring.http_input';
}
if (ini_get('mbstring.http_output') != 'pass') {
static::$status = static::STATUS_ERROR;
return 'mbstring.http_output';
}
}
// Set appropriate configuration.
mb_internal_encoding('utf-8');
mb_language('uni');
static::$status = static::STATUS_MULTIBYTE;
return '';
}