Поддержка Проблемы и решения Русские буквы в сылке и в БД, как правильно

  • привет всем,
    установил вордпресс и обнаружил что ссылку на русском он обрезает до примерно 33знаков, поскольку в БД размер таблицы установлен varchar(200) а русские буквы перекодируются (зачем-то) в какие-то непонятные значки с процентами, что одна буква превращается в 6 знаков.
    Как отключить это перекодирование чтоб русские буквы нормальным образом сохранялись в БД?

    Не надо пожалуйста только говорить про невозможность этого — ибо: чем отличается русская буква Г от якобы нормальной латинской L, русская T от латинской t, русские НОРМСХУЕАВ и прочие от точно таких же на латыне???
    На ДЛЕ я кстати исправил данный момент и русские буквы нормальным образом сохраняются в БД, заменив в коде [^a-z0-9\_\-] на
    [^(\w)|(\x7F-\xFF)|(0-9)|(\_\-.)]
    И никаких проблем не возникает и никакой необходимости в замене русских букв на какие-то проценты нет.
    Как это можно исправить в БД

    Спасибо

Просмотр 11 ответов — с 46 по 56 (всего 56)
  • Модератор Yui

    (@fierevere)

    永子

    если бы на каждую страницу флейма на форумах приходилась хоть строчка написанного кода ...

    WordPress — продукт с открытым исходным кодом и свободной лицензией GPLv2, «ну вы понели..» ™

    хоть строчка написанного кода

    согласен. Я не имею понятия как работает ВП, поскольку никогда не использовал, потому и задал вопрос. Вместо ответа мне стали рассказывать теории о том как ссылка представляется в адресной строке, каких-то кем-то придуманных стандартах и пр. что меня не совсем интересовало и не имеет к вопросу никакого отношения.

    Модератор Yuri

    (@yube)

    Я не имею понятия как работает ВП, поскольку никогда не использовал, потому и задал вопрос. Вместо ответа мне стали рассказывать теории о том как ссылка представляется в адресной строке, каких-то кем-то придуманных стандартах и пр. что меня не совсем интересовало и не имеет к вопросу никакого отношения.

    Вам рассказали, почему и зачем сделано именно так. Хотите сделать иначе — делайте! Никто не вправе Вам запретить. Хоть все скрипты перепишите православными буквами. Только имейте в виду, что тут никто никому ничем не обязан.

    p.s. Насчет «ничем» я погорячился. Участники форума обязаны соблюдать Правила форума.

    тогда объясните почему на Википедии

    ну так и спросите у них … К моему вопросу это не имеет никакого отношения.

    Напомню вопрос: как исправить код, что ВП сохранял ссылки в корректном виде, а не в виде процентов.

    ПС:Если знаете как сделать, буду благодарен за совет. а если нет, то и не стоит своё незнание прятать за ширмой чьих-то теорий и тд.

    Только имейте в виду, что тут никто никому ничем не обязан.

    Я это имею ввиду: только часто вместо того чтоб говорить по существу вопроса, многие начинают навязывать свои суждения. Которые зачастую далеки от идеала и даже в чём-то опасны.
    Суть вопроса же проста: Мне нужны в БД ссылки на моем родном русском языке, а не в виде процентов: которые я не могу прочитать и которые занимают в 6 раз больше места, вследствие чего ссылка укорачивается до мизера, что делает использование ссылок на русском языке, по сути, невозможным.
    Если кому-то, по какой-то причине, больше нравится латынь, его личное дело. Мне больше нравится видеть ссылки (в поисковике) на понятном мне языке

    То что мне никто ничем не обязан, тоже известно. Обратился с простым вопросом в надежде что, в настолько широком сообществе пользователей ВП кто-то уже сталкивался с этим и исправил.
    В любом случае есть еще и фрилансеры.

    Модератор Yuri

    (@yube)

    Которые зачастую далеки от идеала и даже в чём-то опасны.

    О, еще как опасны! Натурально RFC-фундаментализм и ICANN-экстремизм. Не зря же Роскомнадзор регулярно запрещает wordpress.

    в настолько широком сообществе пользователей ВП кто-то уже сталкивался с этим и исправил.

    Увы, местное сообщество больше похоже на секту свидетелей Кодекса. Тут даже общепринятый в других сообществах хак файлов движка считают грехом.

    В любом случае есть еще и фрилансеры.

    На них вся надежда. Удачи в поиске!

    у вас у всех с чем проблема: с чтением или с пониманием?

    Да-да, конечно же это у всех присутствующих в топике не понимание, один Вы самый понятливый. 🙂

    А кодировка утф что делает по Вашему ? — то же самое.

    Нет.

    которые занимают в 6 раз больше места

    Не в 6, а в 3.
    Ок. Последняя попытка. Каким бы «языком» не было записано — размер (объём) не изменится.

    А кодировка утф что делает по Вашему ? — то же самое.

    Нет.

    Вам если есть что сказать по сути вопроса, то рад буду выслушать, а просто трепаться: стоит ли? Учитывая что Вы утверждаете что по хттп передаются только ссылки 😉

    то рад буду выслушать

    Да врёте Вы! Вы ничего не слушаете.

    Учитывая что Вы утверждаете что по хттп передаются только ссылки 😉

    И опять враньё и\или фантазии.

    стоит ли?

    Пожалуй что нет. Всё что можно уже несколько раз рассказано и показано.

    Да врёте Вы! Вы ничего не слушаете

    Я же говорю, если Вам есть что сказать по сути вопроса, как исправить код и пр.: рад буду выслушать. Но из двух страниц общения, поступило лишь одно предложение от Юрия отключить данную функцию. Но её отключение нарушает функционал работы ВП. Так что отключать нельзя, исправлять! ;).

    Не в 6, а в 3.

    Вчера читал где-то, что почти в 6, поскольку ссылка укорачивается до 30-40 знаков. Сделал тестовую. (функция кодирования в проценты сейчас отключена, то есть ссылка не перекодируется. Исправлять не стал, сделал по-другому)
    Количество знаков в ссылке: 100
    длина ссылки в редакторе в кодировке утф без бом: 193
    длина ссылки в редакторе в процентном виде (после копипаста из адресной строки): 570
    (текст ссылки, если кто хочет проверить:
    1/22-этопробнаяссылканаписаннаябезпробеловинесодержащаяспециальныхсимволоватолькосодержащаякирилицу)

    Делим 570 на 100 = 5,7. Так что сама ссылка уменьшилась в 6 раз, в то время как используя утф (без бом) она уменьшается в 2 раза

    А по отношению к тексту сохраненному в утф, да примерно 3 раза. Но мы же исходим от текста самой ссылки а не от ссылки перекодированой в утф

    Каким бы «языком» не было записано — размер (объём) не изменится.

    Изменяется длина ссылки в броузере (её в нём представление): при использовании утф ссылка будет в 3 раза длиннее (не 40 символов, а 120), чем при использовании процентов. Не говоря о том, что при необходимости её и прочитать можно или найти нужное в дампе БД.
    Так что при использовании утф ссылка содержит в 3 раза больше полезной информации для поисковика (о наименовании топика), при одном и том же размере таблицы БД.

Просмотр 11 ответов — с 46 по 56 (всего 56)
  • Тема «Русские буквы в сылке и в БД, как правильно» закрыта для новых ответов.