Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/268: Рейтинг темы: голосов - 268, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 30

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

07.04.2015, 17:50. Показов 55202. Ответов 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
31 / 45 / 21
Регистрация: 09.10.2012
Сообщений: 825
07.04.2015, 17:54
manechka, В браузере кодировку меняла?
0
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
07.04.2015, 18:00
Проблема не в кодировке, а в программной ереси которая там написана.
1
53 / 53 / 22
Регистрация: 31.03.2015
Сообщений: 268
07.04.2015, 18:01
А надо наоборот поставить Windows-1251.
Если появляются знаки вопроса или квадратики, надо ставить Windows-1251.
Если наоборот появляются каракули, надо ставить только тогда UTF-8.
0
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 30
07.04.2015, 18:18  [ТС]
Dolphin, то, что там написано, работает, если текст написать на английском языке.

Добавлено через 1 минуту
Inkvizzz, ага, в браузере стоит тоже кодировка UTF-8
0
53 / 53 / 22
Регистрация: 31.03.2015
Сообщений: 268
07.04.2015, 18:20
manechka, кодировка в браузере регулируется как раз сайтом, но её можно менять вручную.
0
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
07.04.2015, 18:24
Цитата Сообщение от manechka Посмотреть сообщение
работает, если текст написать на английском языке.
И? Почему вдруг сразу кодировка?
0
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 35
07.04.2015, 18:28
manechka, проблема бывает еще в том, что при работе в определенных редакторах в начало файла, перед тегом <?php, редактор дописывает невидимые символы.

у меня такое было в sublime. пришлось поменять редактор.

хорошая программка на проверку таких символов называется XVI32.

скорее всего я ошибаюсь...но проверить стоит) избежишь других проблем.
0
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 30
07.04.2015, 18:29  [ТС]
Цитата Сообщение от Dolphin Посмотреть сообщение
И? Почему вдруг сразу кодировка?
подскажите тогда, пожалуйста, в чем именно, на ваш взгляд, тут проблема.
0
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
07.04.2015, 18:33
Нужен именно While?
0
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 35
07.04.2015, 18:36
manechka,

HTML5
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
<!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
53 / 53 / 22
Регистрация: 31.03.2015
Сообщений: 268
07.04.2015, 18:38
manechka, прислушайтесь ко мне. Я сам так решил проблему на одном сайте.
Заморочки с кодировкой зависят от хостинга.
0
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 30
07.04.2015, 18:42  [ТС]
Цитата Сообщение от Dolphin Посмотреть сообщение
Нужен именно While?
да, я делаю точь-в-точь все, как лектор (учусь по видео-урокам).

также я только что заметила, что этот код работает с русским текстом адекватно, если выводить все в строку

но как только я добавляю <br> для отображения букв в столбик, то сразу все превращается в знаки вопроса.

Добавлено через 45 секунд
Цитата Сообщение от RinaFolk Посмотреть сообщение
вы в каком редакторе пишете?
нотпад ++

Добавлено через 28 секунд
Цитата Сообщение от Max_Great_Tanje Посмотреть сообщение
manechka, прислушайтесь ко мне. Я сам так решил проблему на одном сайте.
Заморочки с кодировкой зависят от хостинга.
так а где вы советуете менять кодировку? я так и не поняла
0
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
07.04.2015, 18:45
Цитата Сообщение от Dolphin Посмотреть сообщение
Проблема не в кодировке, а в программной ереси которая там написана.
+100500. кстати strlen не работает с юникодом. это в копилку "ереси". И сам скрипт должен быть написан в юникоде..
Цитата Сообщение от Max_Great_Tanje Посмотреть сообщение
А надо наоборот поставить Windows-1251.
ересь не только в коде от ТС но и в ответах..
Цитата Сообщение от Max_Great_Tanje Посмотреть сообщение
Заморочки с кодировкой зависят от хостинга.
не позорьтесь..
0
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
07.04.2015, 19:01
Нужен именно While?
Цитата Сообщение от manechka Посмотреть сообщение
PHP
1
2
3
header("Content-Type: text/html; charset=utf-8");
* * UTF
* * /* Установка русской локали */
Так же, что такое UTF на отдельной строке?

Добавлено через 14 минут
ИМХО, правильнее будет так..
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
    header("Content-Type: text/html; charset=utf-8");
    mb_internal_encoding('UTF-8');
?><!DOCTYPE html>
<html>
    <head>
        <title>Оператор while</title>
        <meta charset="UTF-8">
    </head>
    
    <body>
    <h1>Оператор while</h1>
    <?php
        $var = "ТЕСТИРУЕМ";         
        $letter_number = 0;     
                        
        while ($letter_number < mb_strlen($var)) { 
            echo mb_substr($var, $letter_number++, 1) . '<br>' ; 
        }
    ?>
    </body>
</html>
1
0 / 0 / 0
Регистрация: 26.01.2015
Сообщений: 30
07.04.2015, 19:06  [ТС]
ads, я понимаю, что Вы крутой продвинутый веб-разработчик, но зачем накидываться с такими резкими фразами на новичков...

Добавлено через 3 минуты
Dolphin, то левое UTF на отдельной строке мой завтык. Я понимаю, что его там не должно быть. В спешке, видимо, клацнула. Доеду до дома, попробую Ваш код. Спасибо. А может быть проблема в локальном сервере?
0
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
07.04.2015, 19:08
Цитата Сообщение от manechka Посмотреть сообщение
А может быть проблема в локальном сервере?
В данном случае нет
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
07.04.2015, 19:33
а у меня такой код вывел нормально (сам php файлик в кодировке UTF8, конечно)

PHP
1
2
        while ($letter_number < strlen($var)) 
            { echo substr($var,$letter_number,2) . '<br>' ; $letter_number +=2;}
0
53 / 53 / 22
Регистрация: 31.03.2015
Сообщений: 268
07.04.2015, 20:42
manechka, в любом месте. Ну в том же .htaccess. AddDefaultCharset Windows-1251.ads, мне это реально помогло. Это мой личный опыт.
0
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
07.04.2015, 20:53
Цитата Сообщение от Sergio Leone Посмотреть сообщение
а у меня такой код вывел нормально (сам php файлик в кодировке UTF8, конечно)
PHP
1
2
while ($letter_number < strlen($var)) 
 { echo substr($var,$letter_number,2) . '<br>' ; $letter_number +=2;}
латинские буквы это 1 байт, русские буквы 2 байта. Для русской строки вывод будет нормальный. А если там появятся латинские - нормального вывода не будет... Продолжайте эксперементировать господа..есть еще utf16 и utf32, со временем разберетесь в способах кодировки. Не бросаясь резкими фразами предложу почитать хотя бы википедию, офф сайт по php...стандарты... и не смотреть видеоуроки, которые создают дилетанты для недоумков
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.04.2015, 20:53
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru