Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Задача с подвохом: "Я" => кириллическая буква в UTF-8
|
|||
|---|---|---|---|
|
#18+
Серверный скрипт работает в кодировке UTF8. При формировании URL с параметром, содержащим 1 кириллический символ, использую rawurlencode() При получении - rawurldecode() . Всё работает нормально. В html, например, для буквы "Б" получаем код "%D0%91" (UTF-код 1041). Но иногда на уровне серверного скрипта в качестве буквы получаю строку: "Я" (и прочие двусимвольные "абракадабры"). Очевидно, что клиент передал в URL 2 байта, но не те, которые соответствуют 2 байтам UTF8-символа. Можно просто проигнорировать эти случаи, выдав клиенту 404 страницу. Но будет лучше, если скрипт и эти ситуации будет корректно обрабатывать. Возникает вопрос - как из UTF8-строки "Я" получить нормальную кириллическую букву в кодировке UTF8 ? Конечно, неизвестно, какие преобразования производит клиент, но можно предположить, что он задействует кодировку windows-1251 ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 16:10 |
|
||
|
Задача с подвохом: "Я" => кириллическая буква в UTF-8
|
|||
|---|---|---|---|
|
#18+
Подсказка: это буква "Я"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 16:11 |
|
||
|
Задача с подвохом: "Я" => кириллическая буква в UTF-8
|
|||
|---|---|---|---|
|
#18+
Cyrax_02Но иногда на уровне серверного скрипта в качестве буквы получаю строку а какой Encoding при этом на сервер приходит(в Content-type) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 16:28 |
|
||
|
Задача с подвохом: "Я" => кириллическая буква в UTF-8
|
|||
|---|---|---|---|
|
#18+
автора какой Encoding при этом на сервер приходит(в Content-type) ? Могу предположить, что "windows-1251". Проверить не могу, т.к. php 5.3, а функций получения заголовков запроса он не ещё поддерживает (получить можно только заголовки ответа - get_headers() ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 16:56 |
|
||
|
Задача с подвохом: "Я" => кириллическая буква в UTF-8
|
|||
|---|---|---|---|
|
#18+
Cyrax_02, так интересно, что в заголовке именно ответа, а не запроса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 17:11 |
|
||
|
Задача с подвохом: "Я" => кириллическая буква в UTF-8
|
|||
|---|---|---|---|
|
#18+
ИзопропилCyrax_02, так интересно, что в заголовке именно ответа, а не запроса не то написал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 17:12 |
|
||
|
Задача с подвохом: "Я" => кириллическая буква в UTF-8
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 18:05 |
|
||
|
Задача с подвохом: "Я" => кириллическая буква в UTF-8
|
|||
|---|---|---|---|
|
#18+
автортак интересно, что в заголовке именно ответа, а не запроса Ответ я сам формирую - там всегда UTF8 прописана. miksoftСудя по 18365763 , это Win-1252.Да, у меня тоже получилась Win-1252. Это если следовать таблице. А вообще, таблица интересная. По угадыванию кодировки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 19:04 |
|
||
|
Задача с подвохом: "Я" => кириллическая буква в UTF-8
|
|||
|---|---|---|---|
|
#18+
miksoft , Код: php 1. Код: php 1. Код: php 1. Код: php 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 19:23 |
|
||
|
Задача с подвохом: "Я" => кириллическая буква в UTF-8
|
|||
|---|---|---|---|
|
#18+
Подсказка №2 : на этом форуме при создании новой темы в режиме предварительного просмотра последовательность "Я" отображается как "Я" (при этом после создания темы в тексте сообщения последовательность отображается без изменений - как "Я"). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 19:26 |
|
||
|
Задача с подвохом: "Я" => кириллическая буква в UTF-8
|
|||
|---|---|---|---|
|
#18+
Cyrax_02 Код: php 1. А функция iconv понимает такие конструкции (указание кода символа через амперсанд и решетку)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 19:30 |
|
||
|
Задача с подвохом: "Я" => кириллическая буква в UTF-8
|
|||
|---|---|---|---|
|
#18+
авторА функция iconv понимает такие конструкции (указание кода символа через амперсанд и решетку)? Нет, это последовательность "Я" так отображается внутри тега (PHP) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 19:47 |
|
||
|
Задача с подвохом: "Я" => кириллическая буква в UTF-8
|
|||
|---|---|---|---|
|
#18+
miksoft , $out = iconv('windows-1252', 'UTF-8', 'Я'); Получаем ошибку: [8] iconv() Detected an illegal character in input string in .../test.php (line 35) $out = mb_convert_encoding('Я', 'UTF-8', 'windows-1252'); Получаем: ï ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 19:49 |
|
||
|
Задача с подвохом: "Я" => кириллическая буква в UTF-8
|
|||
|---|---|---|---|
|
#18+
Задача: как алгоритмически из UTF8-строки "Я" получить нормальную кириллическую букву "Я" в кодировке UTF8 ? Подсказка: на этом форуме при создании новой темы в режиме предварительного просмотра последовательность "Я" отображается как "Я" (при этом после создания темы в тексте сообщения последовательность отображается без изменений - как "Я"). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 19:51 |
|
||
|
|

start [/forum/topic.php?fid=23&fpage=53&tid=1461432]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 264ms |
| total: | 364ms |

| 0 / 0 |
