Блог веб-разработчика: в помощь программистам

PHP вывод русского алфавита

Можно придумать много способов вывести русский алфавит в нужном месте, но мне кажется оптимальным способом является следующий:

$cyr = range("192","223");
foreach($cyr as $lit) echo chr($lit);

Немного поясню функция CHR в PHP преобразовывает ASCII код в символ, русский алфавит от 192 до 223, по аналогии можно поступить и с английским и с любым другим алфавитом.

  • а почему числа в range() передаются как строки? (в смысле в кавычках они)

  • Прогнал – кавычки не нужны.

  • но это не будет работать для UTF-8, а многие сейчас другие кодировки перестают использовать :)

  • було б не погано вивести range для різних алфавітів)

  • Мне кажется, лучше писать так:

    $cyr = range(ord(“a”),ord(“я”));

    • Только в том случае, если символы национального алфавита в кодировке идут без перерывов. Но как показывает практика, бывает, что нет.

  • А к белорусскому как это можно применить?
    Там “и” выглядит как “i”…

  • Огромное спасибо!

  • Ммм, это полезная статейка для меня. Я если честно, как то особо не заморачивался с этим. Хотя немного напрягало, что при вставке в ГЕТ запрос кирилицы она отображается коряво, но в итоги при выводе ГЕТ-переменной на страницу, она все-равно на кирилице. Однажды столкнулся с проблемой кодировки при ajax запросе. Тестируя проект в ОПЕРЕ столкнулся с такой проблемой, при ajax запросе строка на кирилице (windows-1251) выводился в UTFe. Но эта проблема была решена. Опять же создал массив в UTFe больших и малых букв, + массив на windows-1251, далее строка из аякс-запроса попадала в скрипт на обработку, в котором циклом по каждый символ строк сравнивал с массивом UTF символов, если было совпадение то соответственно рекодинг. В итоге вывод строки на windows-1251, это если изначально в обработку скрипта попадает строка на UTFe, если строка в windows-1251 то скрипт ничего не делает.

You can follow any responses to this entry through the RSS 2.0 feed.