Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Stiv10
6 / 6 / 0
Регистрация: 28.07.2012
Сообщений: 47
#1

Кодировка

11.10.2012, 21:25. Просмотров 1760. Ответов 13
Метки нет (Все метки)

Здравствуйте.
Создал на сервере файл и сохранил его в utf-8 без бом, 1-ой строкой отсылаю заголовок:
PHP
1
header('Content-type: text/html; charset=utf-8');
дальше какой-то код, неважно какой, потом проверяю кодировку этого файла:
PHP
1
echo mb_internal_encoding();
браузер показывает: ISO-8859-1,
затем устанавливаю той-же функцией во 2-ой строке:
PHP
1
mb_internal_encoding('utf-8');
и только тогда в браузере UTF-8
почему или из-за чего?

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2012, 21:25
Ответы с готовыми решениями:

Кодировка
Добрый день! учусь программирование, совсем новичок. Помогите решить вопрос: ...

Кодировка
Добрый вечер. Раньше было все отлично. Но в последнее время когда я пишу новые...

Кодировка
Есть сайт. Он ссосттоит из одного HTML шаблона, к которому подключаются другие...

Кодировка
Здравствуйте, знаю что тема была на форуме уже много раз, но свою проблему не...

Кодировка
Хочу установить везде кодировку ютф-8 не получается, пробую по статье:...

13
spyeye
31 / 31 / 2
Регистрация: 06.08.2012
Сообщений: 155
11.10.2012, 21:31 #2
Хедер не влияет на кодировку файла
0
KOPOJI
11.10.2012, 21:33
  #3

Не по теме:

spyeye,

Цитата Сообщение от Stiv10 Посмотреть сообщение
и сохранил его в utf-8 без бом
:)

0
Stiv10
6 / 6 / 0
Регистрация: 28.07.2012
Сообщений: 47
11.10.2012, 21:35  [ТС] #4
Это понятно, он для браузера, но ведь сам файл в ютф8, проверял в np++, в phpEE, результат один и тот-же.
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16749 / 6640 / 861
Регистрация: 12.06.2012
Сообщений: 19,887
Завершенные тесты: 1
11.10.2012, 21:38 #5
Stiv10, хм.. а в самом браузере какая кодировка стоит? в смысле сайт в какой кодировке отображается?
0
Stiv10
6 / 6 / 0
Регистрация: 28.07.2012
Сообщений: 47
11.10.2012, 21:43  [ТС] #6
Юникод UTF-8

Добавлено через 2 минуты
И еще определяю длину строки:
PHP
1
2
3
4
$str = "это тестовая строка!ещё одна? да.конечно";
echo $str;
$len = mb_strlen($str);
echo $len;
в $len значение 40, когда есть
PHP
1
mb_internal_encoding('utf-8');
иначе значение 73
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16749 / 6640 / 861
Регистрация: 12.06.2012
Сообщений: 19,887
Завершенные тесты: 1
11.10.2012, 21:44 #7
Цитата Сообщение от Stiv10 Посмотреть сообщение
в $len значение 40, когда есть
PHP
1
$len = mb_strlen($str,'UTF-8');
0
Stiv10
6 / 6 / 0
Регистрация: 28.07.2012
Сообщений: 47
11.10.2012, 21:48  [ТС] #8
Цитата Сообщение от KOPOJI Посмотреть сообщение
PHP
1
$len = mb_strlen($str,'UTF-8');
задавать в функцию принудительно кодировку..., но сам файл уже в этой кодировке!
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16749 / 6640 / 861
Регистрация: 12.06.2012
Сообщений: 19,887
Завершенные тесты: 1
11.10.2012, 21:50 #9
Цитата Сообщение от Stiv10 Посмотреть сообщение
но сам файл уже в этой кодировке!
потому что внимательнее нужно читать про функции
http://www.php.net/manual/ru/function.mb-strlen.php
encoding
Параметр encoding представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.
чуть ниже:
Смотрите также

mb_internal_encoding() - Установка/получение внутренней кодировки скрипта
0
Stiv10
6 / 6 / 0
Регистрация: 28.07.2012
Сообщений: 47
11.10.2012, 21:54  [ТС] #10
KOPOJI, выходит так, что если файл в одной кодировке, то скрипт внутри него может быть совсем в другой кодировке?
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16749 / 6640 / 861
Регистрация: 12.06.2012
Сообщений: 19,887
Завершенные тесты: 1
11.10.2012, 21:59 #11
не скрипт, а внутренняя кодировка

Добавлено через 1 минуту
опять идем за Вас в мануал и достаем цитату..
http://www.php.net/manual/ru/function.mb-internal-encoding.php
Список параметров

encoding
encoding - это имя кодировки, в которую будут преобразовываться входные данные HTTP запроса, из которой будет конвертироваться HTTP вывод, а также это кодировка по умолчанию для всех функций работающих со строками, определенными в модуле mbstring.
0
Stiv10
6 / 6 / 0
Регистрация: 28.07.2012
Сообщений: 47
11.10.2012, 22:07  [ТС] #12
KOPOJI, благодарю, я это понял, оставим без внимания http вывод и строки, но как быть с этим:
Если аргумент encoding опущен, будет возвращено имя текущей внутренней кодировки.
файл в ютф8
PHP
1
echo mb_internal_encoding();
в браузере ISO-8859-1
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16749 / 6640 / 861
Регистрация: 12.06.2012
Сообщений: 19,887
Завершенные тесты: 1
11.10.2012, 22:17 #13
Цитата Сообщение от Stiv10 Посмотреть сообщение
файл в ютф8
причем тут кодировка Вашего файла? В-н-у-т-р-е-н-н-я-я кодировка. Еще раз цитату дам, уже точнее.
Цитата Сообщение от KOPOJI Посмотреть сообщение
это кодировка по умолчанию для всех функций работающих со строками, определенными в модуле mbstring.
0
Stiv10
6 / 6 / 0
Регистрация: 28.07.2012
Сообщений: 47
11.10.2012, 22:29  [ТС] #14
Дошло, благодарю
0
11.10.2012, 22:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2012, 22:29

кодировка
Учу php, проблема в том, что когда подключаю куски страницы через include на...

Кодировка
Здравствуйте. Как задать этим файлам верную кодировку? Помогите, пожалуйста....

Кодировка
Здравствуйте, я получаю данные от SOAP сервиса. Английские буквы отображаются...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru