Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > WordPress и другие CMS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2019, 21:10   #1
mbit
Новичок
Джуниор
 
Регистрация: 09.01.2019
Сообщений: 2
По умолчанию ЧПУ укр буквы

Столкнулся с проблемой, сайт не понимает укр буквы и в ссылках выдает вместо букв символы %D%.
Русские понимает.
Решил поискать прописать похожу таблику для букв которые не понимает, но столкнулся с проблемой откуда брать эти коды
Кто то может объяснить откуда брать эти коды и за что каждый отвечает?

Если я составлю данную таблицу она будет работать или еще что то мне понадобится?

Код:
chr(???),chr(???).chr(???) => 'g', // Ґ
chr(???),chr(???).chr(???) => 'e', // Є
chr(???),chr(???).chr(???) => 'yi', // Ї
chr(???),chr(???).chr(???) => 'i', // I
chr(???),chr(???).chr(???) => 'i', // i
chr(???),chr(???).chr(???) => 'g', // ґ
chr(???),chr(???).chr(???) => 'e', // є
chr(???),chr(???).chr(???) => 'yi', // ї
Код:
//Transliteration for Cyrillic
chr(192),chr(208).chr(144) => 'a', // А
chr(224),chr(208).chr(176) => 'a', // а
chr(193),chr(208).chr(145) => 'b', // Б
chr(225),chr(208).chr(177) => 'b', // б
chr(194),chr(208).chr(146) => 'v', // В
chr(226),chr(208).chr(178) => 'v', // в
chr(195),chr(208).chr(147) => 'g', // Г
chr(227),chr(208).chr(179) => 'g', // г
chr(196),chr(208).chr(148) => 'd', // Д
chr(228),chr(208).chr(180) => 'd', // д
chr(197),chr(208).chr(149) => 'e', // Е
chr(229),chr(208).chr(181) => 'e', // е
chr(168),chr(208).chr(129) => 'yo', // Ё
chr(184),chr(209).chr(145) => 'yo', // ё
chr(198),chr(208).chr(150) => 'zh', // Ж
chr(230),chr(208).chr(182) => 'zh', // ж
chr(199),chr(208).chr(151) => 'z', // З
chr(231),chr(208).chr(183) => 'z', // з
chr(200),chr(208).chr(152) => 'i', // И
chr(232),chr(208).chr(184) => 'i', // и
chr(201),chr(208).chr(153) => 'j', // Й
chr(233),chr(208).chr(185) => 'j', // й
chr(202),chr(208).chr(154) => 'k', // К
chr(234),chr(208).chr(186) => 'k', // к
chr(203),chr(208).chr(155) => 'l', // Л
chr(235),chr(208).chr(187) => 'l', // л
chr(204),chr(208).chr(156) => 'm', // М
chr(236),chr(208).chr(188) => 'm', // м
chr(205),chr(208).chr(157) => 'n', // Н
chr(237),chr(208).chr(189) => 'n', // н
chr(206),chr(208).chr(158) => 'o', // О
chr(238),chr(208).chr(190) => 'o', // о
chr(207),chr(208).chr(159) => 'p', // П
chr(239),chr(208).chr(191) => 'p', //п
chr(208),chr(208).chr(160) => 'r', // Р
chr(240),chr(209).chr(128) => 'r', // р
chr(209),chr(208).chr(161) => 's', // С
chr(241),chr(209).chr(129) => 's', // с
chr(210),chr(208).chr(162) => 't', // Т
chr(242),chr(209).chr(130) => 't', // т
chr(211),chr(208).chr(163) => 'y', // У
chr(243),chr(209).chr(131) => 'y', // у
chr(212),chr(208).chr(164) => 'f', // Ф
chr(244),chr(209).chr(132) => 'f', // ф
chr(213),chr(208).chr(165) => 'x', // Х
chr(245),chr(209).chr(133) => 'x', // х
chr(214),chr(208).chr(166) => 'c', // Ц
chr(246),chr(209).chr(134) => 'c', //ц
chr(215),chr(208).chr(167) => 'ch', // Ч
chr(247),chr(209).chr(135) => 'ch', // ч
chr(216),chr(208).chr(168) => 'sh', // Ш
chr(248),chr(209).chr(136) => 'sh', // ш
chr(217),chr(208).chr(169) => 'sch', // Щ
chr(249),chr(209).chr(137) => 'sch', // щ
chr(218),chr(208).chr(170) => '', // Ъ
chr(250),chr(209).chr(138) => '', // ъ
chr(219),chr(208).chr(171) => 'y', // Ы
chr(251),chr(209).chr(139) => 'y', // ы
chr(220),chr(208).chr(172) => '', // Ь
chr(252),chr(209).chr(140) => '', // ь
chr(221),chr(208).chr(173) => 'e', // Э
chr(253),chr(209).chr(141) => 'e', // э
chr(222),chr(208).chr(174) => 'yu', // Ю
chr(254),chr(209).chr(142) => 'yu', // ю
chr(223),chr(208).chr(175) => 'ya', // Я
chr(255),chr(209).chr(143) => 'ya', // я
mbit вне форума Ответить с цитированием
Старый 09.01.2019, 21:52   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Слева 1 байт - CP1251, справа 2 байта - UTF-8
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.01.2019, 18:02   #3
mbit
Новичок
Джуниор
 
Регистрация: 09.01.2019
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Слева 1 байт - CP1251, справа 2 байта - UTF-8
А можно поподробней
Есть три значения:
chr(???),chr(???).chr(???) => 'g', // Ґ
Откуда их брать?
mbit вне форума Ответить с цитированием
Старый 14.01.2019, 20:51   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А специфическую кириллицу в utf-8 и правда быстро найти не получилось. В таблице символов есть кодировка для всех символов кириллицы в CP1251 и двухбайтном юникоде. Этого достаточно для получения utf-8. Алгоритм здесь например
https://habr.com/post/138173/

Если не напутал, то например:
chr(165),chr(196).chr(144) => Ґ
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 14.01.2019 в 20:56.
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заменить в файле все первые буквы в словах на заглавные буквы Luchfan12 Помощь студентам 6 15.10.2014 13:10
Дана строка символов. Заменить все буквы d, после которых следует запятая, на буквы x (Си) XedCrab Помощь студентам 3 29.01.2014 10:49
Дана строка, содержащая цифры и строчные латинские буквы. Если буквы в строке упорядочены по алфавиту, то вывести 0; в противном nadyaH Помощь студентам 12 22.11.2013 11:11
Помогите пожалуйста с укр.языком в Дос Dimasc Операционные системы общие вопросы 6 11.12.2007 17:50