[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кракозябрики при выводе отдельных букв
Golovastik
Если просто выводить например echo 'Ура, Америка рулит!';
Выводит всё на русском языке.
Попробовал вывести отдельные буквы, выводят знаками вопроса. Что можно сделать?

<html>
<
head>
<
title>Пробная страница </title>
<
style type="text/css">

</
style>
</
head>
<
body>
<?php
$str = "Петя и Вася";
$first1 = $str{0};
$first2 = $str{2};
$len = strlen($str);
echo $first2,$first1; //Это выводит знаками вопроса
echo 'Привет'; //Это выводит нормально
?>
<body>
</
html>




Спустя 3 минуты, 5 секунд (2.05.2011 - 22:56) Игорь_Vasinsky написал(а):

Спустя 5 минут, 45 секунд (2.05.2011 - 23:01) Golovastik написал(а):
Вы не поняли, у меня в .htaccess стоит AddDefaultCharset UTF-8
вроде должно пахать, но не хочет почему-то.

Спустя 16 минут, 10 секунд (2.05.2011 - 23:18) Игорь_Vasinsky написал(а):
в той теме писаны 4 правила - которые решают вопросы с кодировкой, один з моих постов wink.gif

Спустя 2 минуты, 32 секунды (2.05.2011 - 23:20) Xes написал(а):
))) Гы...Repiate

Спустя 59 секунд (2.05.2011 - 23:21) neadekvat написал(а):
Для работы с текстом в кодировке utf-8 в php следует использовать набор функций mb_*. Обычные функции в этом случаи будут делать то, что делают - ничего хорошего.

Спустя 3 минуты, 5 секунд (2.05.2011 - 23:24) Golovastik написал(а):
Получил такую ошибку:

Fatal error: Function name must be a string in Z:\home\test1.ru\www\index.php on line 13

хотя вроде сделал как вы написали выше.
Цитата

<html>
  <head>
  <title>Пробная страница </title>
<style type="text/css">
 
</style>
</head>
<body>
<?php
$str = 'Петя и Вася';
mb_internal_encoding("UTF-8");
$len = strlen($str);
echo $mb_substr($str,1,1);
echo 'Привет';
?>
<body>
</html>

Спустя 2 минуты, 14 секунд (2.05.2011 - 23:26) Игорь_Vasinsky написал(а):
подразумивались строковые функции php.

так же можно использовать iconv();

Спустя 1 минута, 23 секунды (2.05.2011 - 23:28) Xes написал(а):
Я вообще не очень но гугл так перевел ошибку
Цитата
Имя функции должно быть строкой
)

Спустя 21 секунда (2.05.2011 - 23:28) neadekvat написал(а):
Зачем там $ ? К тому же, неверно используешь (аргументы ошибочные):
$first1 = mb_substr($str, 0, 1);

Спустя 3 минуты, 21 секунда (2.05.2011 - 23:32) Xes написал(а):
Цитата (neadekvat @ 2.05.2011 - 20:28)
Зачем там $ ? К тому же, неверно используешь (аргументы ошибочные):
$first1 = mb_substr($str, 0, 1);

Почему ошибочные с первого символа 1 символ просто будит не П а Е .
или П надо вывести

Спустя 2 минуты, 8 секунд (2.05.2011 - 23:34) neadekvat написал(а):
Xes, вот же, обращение к первому (по логике) символу в строке:
$first1 = $str{0};
Это как раз сделает
$first1 = mb_substr($str, 0, 1);

При установленной кодировке, конечно.

Так, к слову, нумерация в строках и массивах идет с нуля, а не с единицы.

Спустя 34 секунды (2.05.2011 - 23:34) Golovastik написал(а):
Так тоже не хочет.

<html>
<
head>
<
title>Пробная страница </title>
<
style type="text/css">

</
style>
</
head>
<
body>
<?php
$str = 'Петя и Вася';
//$first = $str{0}.$str{1};
//echo $first;

mb_internal_encoding("UTF-8");
$len = strlen($str);
echo $mb_substr($str,1,3);

?>
<body>
</
html>

Fatal error: Function name must be a string in Z:\home\test1.ru\www\index.php on line 15

Спустя 47 секунд (2.05.2011 - 23:35) neadekvat написал(а):
Да зачем $ ё-мое? Я же сказал, надо так: mb_substr, - а не так: $mb_substr

Спустя 6 минут, 50 секунд (2.05.2011 - 23:42) Golovastik написал(а):
Вот блин ступил я,сори.
Почему без этой строки не хочет пахать?
mb_internal_encoding("UTF-8");
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.