rolia17
@rolia17
Front-end Developer

Как перевести первый символ строки/слова в кодировке UTF-8 в заглавный с помощью PHP?

Есть форма, вводятся данные, например Имя на русском языке, потом заносится в базу MySQL. Нужно перевести первый символ в заглавный, если пользователь его ввел строковым. Но стандартные функции PHP не работают с русскими символами. Есть какое решение этой проблемы?
  • Вопрос задан
  • 2686 просмотров
Решения вопроса 1
KorsaR-ZN
@KorsaR-ZN
Я для таких целей сделал себе функцию, везде где надо подключаю файл "mb_ucfirst.php", содержащий следующий код:

if(!function_exists('mb_ucfirst'))
{
	function mb_ucfirst($str, $encoding = 'utf-8')
	{ 
		$firstChar = mb_substr($str, 0, 1, $encoding);
		$len = mb_strlen($str, $encoding);
		
		return mb_strtoupper($firstChar, $encoding) . mb_substr($str, 1, $len, $encoding); 
	}
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Mavpa
Ответ написан
Комментировать
Мой вариант
function mb_ucfirst($word) {
	return mb_strtoupper(mb_substr($word, 0, 1, 'UTF-8'), 'UTF-8') . mb_substr(mb_convert_case($word, MB_CASE_LOWER, 'UTF-8'), 1, mb_strlen($word), 'UTF-8');
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы