• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/localization/translation.php
  • Класс: BitrixMainLocalizationTranslation
  • Вызов: Translation::getCurrentEncoding
static function getCurrentEncoding()
{
	if (self::$currentEncoding === null)
	{
		$encoding = null;
		// site settings
		if (MainApplication::isUtfMode() || defined('BX_UTF'))
		{
			$encoding = 'utf-8';
		}
		elseif (defined('SITE_CHARSET') && (SITE_CHARSET <> ''))
		{
			$encoding = SITE_CHARSET;
		}
		elseif (defined('LANG_CHARSET') && (LANG_CHARSET <> ''))
		{
			$encoding = LANG_CHARSET;
		}
		else
		{
			$context = Context::getCurrent();
			if ($context instanceof MainContext)
			{
				$culture = $context->getCulture();
				if ($culture instanceof ContextCulture)
				{
					$encoding = $culture->getCharset();
				}
			}
		}
		// default settings
		if ($encoding === null)
		{
			if (Configuration::getValue('default_charset') !== null)
			{
				$encoding = Configuration::getValue('default_charset');
			}
			elseif (defined('BX_DEFAULT_CHARSET') && (BX_DEFAULT_CHARSET <> ''))
			{
				$encoding = BX_DEFAULT_CHARSET;
			}
			else
			{
				$encoding = 'windows-1251';
			}
		}

		self::$currentEncoding = mb_strtolower($encoding);
	}

	return self::$currentEncoding;
}