e-alexey
Ответы в темах
-
Добавьте в functions.php активной темы строку
remove_filter( ‘sanitize_title’, ‘sanitize_title_with_dashes’, 10, 3 );
и в будут Вам в post_name русские буквы.
да, отключив фильтр, ссылки добавляются в нормальном виде, но некоторая проблема: пробелы (и видимо другие знаки) не заменяются на скажем — (тире)
Нашел в сети такой вариант для замены точек в ссылке на тире: (добавил строчку для пробелов)
remove_filter(‘sanitize_title’, ‘sanitize_title_with_dashes’);
add_filter(‘sanitize_title’, ‘my_sanitize_title’);function my_sanitize_title($title) {
$title = str_replace(‘.’, ‘-‘, $title);
$title = str_replace(‘ ‘, ‘-‘, $title);
$title = sanitize_title_with_dashes($title);
return $title;
}В итоге проба ссылки превратилась в проба-ссылки, но в БД опять проценты.
И еще хотел спросить что означают значения 10 и 3 в приведенной Вами функции?
кстати, там ссылки и на спецификации есть
Это все не особо важно (в данном вопросе). Я же уже несколько раз повторил что мне надо в БД ссылку сохранять в нормальном виде, иначе она сильно обрезается (до 30-40 знаков).. Её можно также и в кои и в вин1251 сохранять: не имеет значения.
Зачем кодировать в ПРОЦЕНТЫ? Всё элементарно сохраняется в нормальном виде а проценты разносят базу данных.. Точнее при одном и том же размере таблицы БД пользователь получает более короткую ссылку. Таким образом кодирование в проценты делает автоматически использование русских букв АБСОЛЮТНО нецелесообразным, а это не есть правильно.Это сделано для снижения нагрузки лучше один раз до записи в БД правильно закодировать
Зачем кодировать к примеру те же: АВМТРОКУЕНСХ? Во-вторых, я бы как-то сам решал, что мне важнее: нагрузка или размер ссылки. Для меня важнее ссылка, а техника для того и есть чтоб решать поставленные задачи.
Кстати а чем ПО СУТИ отличается ссылка от содержимого текста ? — да НИЧЕМ! .. Но ведь с представлением содержимого сайта нет никаких проблем. И оно не сохраняется в каких-то там процентах … и так далее короче.
чем после извлечения постоянно кодировать
а ссылка в виде процентов по Вашему выходит не кодируется обратно в нормальный текст? — кодируется. Так что те же яйца только сбоку, но при этом база данных в 6 раз больше, (а точнее ссылка меньше) что тоже кстати влияет на производительность и на извлечение данных их нее.
(можно привести аналогию с архивами: никогда не закачивали на сервер файлы в архиве и распакованные? Быстрее, проще и с меньшей нагрузкой загружаются файлы помещенные в архив. Так что по-моему один знак в утф проще вынуть из БД чем тот же знак закодированный в виде 6ти значных процентов. Не говоря о том, что вручную БД Вы уже править не сможете, если вдруг что-то случится )
В общем ненужный геморройОбновление спецификаций идет медленно
Еще раз повторю и в Джумле и в ДЛЕ (и в Магенте вроде) ссылка сохраняется в БД в нормальном виде..
Возможно она потом после копипаста из адресной строки и примет вид всё тех же процентов, но меня сейчас интересует только сохранение ссылки в БД в нормальном виде а не в каких-то там процентах. Потому что проценты занимают в 6 раз больше места в БДНапример, тем же поисковым системам??
Вообще всё в мире должно быть ориентировано в первую очередь ПОД человека и ДЛЯ человека.
Все это вспомогательные инструменты: они для человека вспомогательны, а не наоборот.хорошо, попробую, спасибо.
Да какие обиды..Кстати, на Джумле (joomla- тоже система cms такая), также нет никаких проблем с сохранением русских букв в БД в нормальном виде.
хотя так и не пойму при чем тут протокол :)) .. Вот есть протокол http, по которому и передаются данные: от сервера — броузеру… Русские буквы передаются не в открытом виде (чтоб говорить о проблемах с протоколом), а в кодировке УТФ: (а можно также еще и в кои или вин-1251 (вроде)) которая прекрасным и нормальным образом передается по пртоколу хттп от сервера Линукс любому броузеру .. только это все не имеет в данный момент значения, потому как передаются данные ИЗ БД.. А в БД, в данном случае эти данные были сохранены в виде каких-то там ПРОЦЕНТОВ … Соответственно в адресной строке НИЧЕГО ИНОГО КРОМЕ КАК ПРОЦЕНТОВ И НЕ МОЖЕТ появиться.
Я русский текст могу сохранить в БД в нормальном виде используя кодировку УТФ… НЕТ проблем! .. Зачем мне кодировать его в 6-ти значные процентные значки??
Проблема только в том, что сейчас этот русский текст ПЕРЕКОДИРУЕТСЯ в проценты и в таком убогом виде сохраняется в БД…ГДЕ отключить это кодирование в проценты?
:))) … ПРОТОКОЛ тут ни при чем.. Протокол ПЕРЕДАЧИ данных вообще НИ ПРИ ЧЕМ… Всё равно что трубе без разницы, что через неё качают: газ, золото или навоз …
Вы вообще понимаете что я говорю? Я же сказал, что с той же ДЛЕ (DLE — система cms такая) НЕТ… ПоНИМАЕТЕ … НЕТ! никакой проблемы с сохранением в базу данных русских букв в том виде как они есть и их соответственно выводом оттуда тоже нет никаких проблем! … (после некоторых изменений в коде, как сказал)
Я ж по-русски пишу вроде.
В противном случае исходя из Ваших умозаключений про протоколы следует то, что текст написанный на русском не сохраняется и в БД. Точнее не передаётся. Вы ж про протокол говорите. Что есть неправильно, поскольку говорю исходя из своего опыта: сохраняется все и выводится всё без проблем: в кодировке утф.Где отключить кодирование букв в эти проценты, кто-нибудь знает?
А я Вас спросил.
Тоже не знаете? 🙂 — я как в том же сообщении написал, так и позже: на Линукс системах, на которых нет никакой проблемы с русскими буквами.
У mysql (если она используется) также нет никакой проблемы с УТФ.. В броузерах тоже нет никакой проблемы с УТФ, даже в самых древних.
Проблема только в том что вордпресс, прежде чем сохранить ссылку в БД, её перекодирует в непонятные и никому не нужные проценты, которые занимают в 6 раз больше места, которые и выдаются потом в адресную строку, вместо того чтоб сохранять нормальным образом ссылку в кодировке утф.Всего-то и нужно — создать свой интернет
Всё давно придумано и создано, а вот при чем тут интернет вообще непонятно 🙂
Подумайте — где и как «это» происходит.
Поскольку я не знаю где это происходит — то и спросил
где протоколы будет поддерживать кириллицу
при чем тут это вообще? … При чем тут протокол?: )) ..
Не расскажите нам сирым?
Во-первых вопрос адресовался не Вам. Во-вторых: это лучше Вы мне расскажите, как убрать кодирование букв.. А то Вы о чём угодно говорите, но только не о сути вопроса.
Я кстати сказал: в основном на Линукс-системах, у которых никаких проблем с UTF или русскими буквами нетПервые IBM и Pentium-ы появились (массово) в 90х, именно это я и имел ввиду, когда указал когда была изобретена кодировка UTF, в ответ на утверждения «про подождать пока вся цифра начнет понимать кодировку»
(даже сам их паял
Я Вас поздравляю. Я имел ввиду западные компьютеры и рынок. А то что ЭВМ были в СССР, мне известно.
Опера Некст уже поддерживает русскоязычные символы
для этого была создана вообще кодировка utf, которую понимает любой, даже древний броузер.
Суть же вопроса в том, что вордпрессе русская буква перекодируется в 6-ти значное процентное нечто и соответственно занимает места в базе данных в 6 раз больше чем латинская. Таблица post_name имеет размер 200 знаков, и в итоге нормальная ссылка скажем в 100-150 знаков обрезается до 30-40 знаков.
Вот из-за чего вопрос.может кто-нибудь всё-таки напишет что-то по сути вопроса:
где отключить кодирование русских букв в проценты?Вам надо подождать еще пару лет
Кодировка UTF изобретена согласно википедии еще в далеком 1992, когда еще первые компьютеры (зарубежные) только появлялись (в России) .. Это к слову .. И никакой цифры и не было даже. А при чем тут кстати цифра (цифровая техника)? )) .. Вы видимо не знаете просто на чем работают сайты, да? :))
или пишите свой стандарт кодировки символов
глубокомысленно. Зачем изобретать велосипед, скажите, если всё давно есть?
прописные истины
истины они бывают разные: у каждого свои.
Я же по-моему по-русски написал и даже два раза: никаких проблем с сохранением в базу данных русских букв БЕЗ КОДИРОВАНИЯ НЕТ в принципе.
Так что нужно еще разобраться, кто кого не слышит.Я задал однозначный вопрос : где происходит это кодирование и как его отключить?
К слову: кодировка UTF широко используется в линукс системах, коими являются абсолютное количествто серверов в интернете. И в линуксе с русскими символами также нет никаких проблем. Проблема в данном случае лишь в том, что кому-то зачем-то пришло в голову перекодировать русские буквы в непонятные проценты, хотя они элементарно сохраняются в базе данных в кодировке UTF..
Это всего лишь кодировка. То есть если я сохранил слово «слово» в данной кодировке то оно и будет показано как СЛОВО, если вы НЕ включите для отображения ИНУЮ кодировку….
Ну и к счастью, насколько мне известно, (хотя я и не знаю матчасти) абсолютно ВСЕ … броузеры и ЛИНУКС системы ПОДДЕРЖИВАЮТ данную кодировку.. А на линуксе так это стандартная кодировка..Так в чем тут проблема??
Проблемы с кодировкой нет. Есть в головах
может кто-нибудь хоть что-то напишет по сути вопроса?
Да, но номер все записывают исключительно арабскими цифрами.
Ну при чем тут цифры? Что вы пытаетесь доказать? Были и другие к слову: латинские (римские), но по причине их несостоятельности, их и перестали употреблять. Сейчас существуют только эти, ими и пользуются. Цифры — не язык. Существовали бы в странах свои числа — их бы и использовали: как и язык. Язык отражается через буквы, которые мне хотят подменить на чужие.
Лучше скажите где ссылка кодируется, и как исправить
Если бы Вы прошли по ссылке, то поняли где суть
Нет суть вопроса: КАК и ГДЕ и ЧТО исправить чтоб ссылки на русском сохранялись в том виде как есть а не кодировались в какие-то 6ти-значные проценты
и пр. других, кроме ограниченной латиницы.
ну надо же, какое глубокомысленное утверждение
Потому что интернет и его спецификации придуманные не в России :
Есть огромная тьма вещей придуманных в России но которыми пользуются все люди
Например телефон. Но по телефону каждый говорит на своем языке, не так ли?
Без которого и интернета бы не было.. К слову, интернет не существует сам по себе, а возможен благодаря электронике. В электронику же запрограммировать можно что угодно. Да и что такое интернет вообще? )) Законченный продукт в котором нечего больше улучшать?
Это же элементарноИспользовать плагин для транслитерации.
Транслитерация не совсем то что надо, поскольку мне ссылка нужна на русском