Глюк с кодировкой при при преобразовании регистра символа строки

tasol

Новичок
PHP:
function test($str){
		$len = strlen($str);

		for ($i=0; $i < $len; $i += 2){
			$str[$i] = mb_strtoupper($str[$i], "utf-8");
		}
		echo $str;
	}
test("Он всхлипнул носом и полез");
Кракозябры: �� �?�?�?�?�?�?�?�?�? ����� �? �����
_____

Хотя с этим все впорядке:
PHP:
<?php
$str = "Он всхлипнул носом и полез";
$str = mb_strtoupper($str);
?>
Он всхлипнул носом и полез
 

Absinthe

жожо
А ты хоть понимаешь, что делает твой код?
В частности, цикл.
 

Ярослав

Новичок
tasol
Потому что в данном случаи доступ к символу строки нельзя так делать
нужно через функции
mb_strlen
mb_substr
 
Сверху