0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 30

Кодировка UTF-8 не работает, выводятся ? вместо русских букв

07.04.2015, 17:50. Показов 55872. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, помогите, плз!!

Крутила я кодировки и так и эдак и все равно выводятся знаки вопросов

1. прописала кодировку UTF-8 в HTML (meta charset);
2. прописала кодировку в PHP (header charset);
3. прописала кодировку в файле .htaccess - AddDefaultCharset UTF-8 ;
4. пробовала указывать кодировку в редакторе и UTF-8, и UTF-8 without BOM;
5. даже прописала локаль 'russian'

ЧТо еще можно попробовать сделать, чтоб решить проблему???

Вот код:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
    header("Content-Type: text/html; charset=utf-8");
    UTF
    /* Установка русской локали */
setlocale(LC_ALL, 'russian');
?>
 
 
<!DOCTYPE html>
 
<html>
 
    <head>
        <title>Оператор while</title>
        <meta charset="UTF-8">
    </head>
    
    <body>
    <h1>Оператор while</h1>
    <?php
        
        $var = "ТЕСТИРУЕМ";            
        $letter_number = 0;     
                        
        while ($letter_number < strlen($var))
            { echo $var{$letter_number++} . '<br>' ; }
        
        
        
    ?>
    </body>
 
</html>
и вот что у меня выходит в браузере:
Миниатюры
Кодировка UTF-8 не работает, выводятся ? вместо русских букв  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.04.2015, 17:50
Ответы с готовыми решениями:

Почему вместо русских букв иероглифы? ( UTF-8 )
Приветствую, форумчане. Редактирую один скрипт и в всплывающих окнах, в самой колонке (заисключением заголовков) и предупреждениях вместо...

Знаки, вместо русских букв (utf-8)
Всем привет, возникла проблемка, сначало было совсем плохо не мог писать коменты на русском и категории создавать, а теперь поставил рус...

Почему выводятся вопросы вместо русских букв?
#coding: UTF-8 temp = 'привет' for i in temp: print(i) В ответ печатается столбец вопросов, то есть проблемы с кодировкой....

24
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 30
07.04.2015, 21:03  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Dolphin Посмотреть сообщение
ИМХО, правильнее будет так..
сработало! спасибо.
а можете объяснить в чем принципиальное отличие от моего кода? и что именно "ересь", как вы выразились, в моем коде?

пс. это всего лишь третий урок по php и по видеокурсу лектор делает точно так же, как и я. у него, правда, написано на английском, поэтому проблем не было

Добавлено через 8 минут
ads, я смотрю, вы сильно умный
расскажите тогда, если несложно, почему мой код работает нормально с русским языком без <br> и не работает с <br> ?

т.е. при таком коде у меня отлично отображаются русские символы:

PHP
1
2
3
4
5
6
7
8
9
<?php
        
        $var = "ТЕСТИРУЕМ";         
        $letter_number = 0;     
                        
        while ($letter_number < strlen($var))
            { echo $var{$letter_number++} ; }     
         
    ?>
а при таком - нет:

PHP
1
2
3
4
5
6
7
8
9
<?php
        
        $var = "ТЕСТИРУЕМ";         
        $letter_number = 0;     
                        
        while ($letter_number < strlen($var))
            { echo $var{$letter_number++} . '<br>' ; }
     
    ?>
0
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
07.04.2015, 21:59
Цитата Сообщение от manechka Посмотреть сообщение
ads, я смотрю, вы сильно умный
расскажите тогда, если несложно, почему мой код работает нормально с русским языком без <br> и не работает с <br> ?
повторяю для особо одаренных, которые в танке: в utf8 латинский символ занимает 1 байт, кириллический: 2 байта. strlen не работает корректно. Прежде чем сюда писать всякий бред, возьмите на себя труд прочитать справку к функции... там строк немного..
0
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 30
07.04.2015, 22:51  [ТС]
а без <br> strlen получается работает корректно?

Добавлено через 18 секунд
пс. если вас так бесят новички, то что вы делаете в этом разделе?
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
07.04.2015, 23:02
Лучший ответ Сообщение было отмечено manechka как решение

Решение

Цитата Сообщение от manechka Посмотреть сообщение
а без <br> strlen получается работает корректно?
русские символы в кодировке UTF занимают ДВА байта. Если последовательно (без BR ) вывести один байт (считай полсимвола), а потом тут же второй байт (вторая половина символа), то при отображении этих двух байт в браузере мы увидим один НОРМАЛЬНЫЙ кирилический символ. а вот если половинки разбить на две строчки, то ничего хорошего (кроме значков вопроса) мы не увидим.
я это так понимаю.
1
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 30
08.04.2015, 02:14  [ТС]
Цитата Сообщение от Sergio Leone Посмотреть сообщение
русские символы в кодировке UTF занимают ДВА байта. Если последовательно (без BR ) вывести один байт (считай полсимвола), а потом тут же второй байт (вторая половина символа), то при отображении этих двух байт в браузере мы увидим один НОРМАЛЬНЫЙ кирилический символ. а вот если половинки разбить на две строчки, то ничего хорошего (кроме значков вопроса) мы не увидим.
я это так понимаю.
я вас прям расцеловать готова))))))))) вот очень все стало на свои места (хотя и пришлось ваше сообщение перечитывать несколько раз подряд, чтобы догнать)!!!!! спаааасибо огромное
поэтому ж паходу и знаков вопросов в два раза больше, чем букв в слове "тестируем".. потому что ДВА!

Добавлено через 48 минут
пс. очень спасибо за то, что есть вот такие люди, которые не смотрят на новичков свысока и им не тяжело объяснить и разложить все по полочкам.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.04.2015, 02:14
Помогаю со студенческими работами здесь

В модуле голосования на сайте вместо русских букв выводятся
Доброго времени суток! Установил сегодня компонент Ace Polls для Joomla 2.5,возникла одна проблема когда я вывожу модуль голосования...

Почему на консоли вместо русских букв выводятся каракули ?
Locale.setDefault(new Locale(Locale.RUSSIAN)) почему на консоли вместо русских букв выводятся каракули ? в ++ установка локали это...

При выводе на экран вместо русских букв выводятся знаки "?"
Задали программу, которая считывает текст из файла и выводит на экран только предложения, не содержащие запятых. Но при выводе на экран...

"Кракозябры" вместо русских букв в UTF-8
Здраствуйте. Помогите пожалуйста, когда я пишу в notepad++ код на англ, то все нормально... только включаю русскую раскладку сразу...

UTF-8: вместо буквенных символов выводятся квадратики
Странно, вместо буквенных символов выводятся квадратики , что это подскажите...! может проблемы с utf 8?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Опции темы

Новые блоги и статьи
[golang] Двоичная куча, min-heap
alhaos 20.05.2026
Двоичная куча Двоичная куча — структура данных, которая всегда держит самый важный элемент наготове. Представьте очередь к хилеру в игре, и очередь из игроков в приоритете те у кого меньше. . .
[golang] Breadth-First Search
alhaos 19.05.2026
BFS (Breadth-First Search) — это базовый алгоритм обхода графа в ширину, который поуровнево исследует все связанные вершины. Он начинает с выбранной точки и проверяет всех соседей, прежде чем. . .
[golang] Алгоритм «Хак Госпера»
alhaos 17.05.2026
Алгоритм «Хак Госпера» Хак Госпера (Gosper's Hack) — алгоритм нахождения следующего по величине числа с тем же количеством установленных бит. Придуман Биллом Госпером в 1970-х, опубликован в. . .
Рисование бинарного древа до 6-го колена на js, svg.
russiannick 17.05.2026
<svg width="335" height="240" viewBox="0 0 335 240" fill="#e5e1bb"> <style> <!]> </ style> <g id="bush"> </ g> </ svg> function fn(){ let rost;/ / высота древа let xx=165,yy=210,w=256;
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов, содержащихся в реализации модуля. По-умолчанию все члены модуля доступны: module Foo let x = 10 let boo () = printfn "boo" . . .
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible". . .
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru