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

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

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

    Спасибо

Просмотр 15 ответов — с 31 по 45 (всего 56)
  • Модератор SeVlad

    (@sevlad)

    wp.me/3YHjQ

    нет никаких проблем с сохранением русских букв в БД в нормальном виде

    И в ВП таких проблем нет. В базе прекрасно себя чувствуют посты на русском языке.

    Однако Вас же интересуют не посты, а слаги\ссылки. Т.е. часть URL\URI, которые передаются по ПРОТОКОЛАМ (http(s) и др) и к которым предъявляются определённые требования, ссылки на которые я давал выше.
    А то, что Вы их игнорируете и не хотите ни думать ни даже видеть очевидное (например ссылку на этот топик, что я выше показывал) абсолютно ничего не меняет — как не было русских символов в УРЛах так и не будет ещё очень и очень долго.

    За сим прекращаю бесполезную трату времени.

    Однако Вас же интересуют не посты,

    Вы русскую речь понимаете или нет? Я в 10ый раз повторяю: нет никаких проблем с сохранением ссылок на русском языке в БД используя только кодировку утф, не кодируя символы еще в непойми что.
    Кодирование их в какие-то проценты и сохранение их в таком виде в БД- глупость … .

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

    Свои статейки читайте сами и верьте в то что что там написано.

    При чем тут протокол опять?? .. :))) .. А фаза Луны никак не влияет, на передачу символов? Исходя из ваших утверждений, следует тогда что и русский текст на сайтах в содержимом — тоже невозможно передать, ТАК? так :)).. Или может он отдельно передается, не по протоколу? Пофантазируйте…

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

    Любой броузер поддерживает кодировку утф, любой сервер поддерживает кодировку утф, так что НЕТ ПРОБЛЕМЫ с передачей русских букв от сервера броузеру, поскольку в УтФ, Вы наверно удивитесь, эти буквы тоже кодируются , и по протоколу передаются не в том виде как есть а в виде кода символа (как и в случае с процентами). Только в отличие от процентов они и копируются без проблем и хранятся в бд без проблем.

    В вордпрессе же, как видно, русские символы умышлено кодируются в проценты, чтоб склонить людей к употреблению латиницы, вместо родного и понятного языка..
    Так что рассказывайте свои байки кому-нибудь другому
    Поскольку НИКАКОЙ необходимости их кодировать в проценты НЕТ. Все сохраняется элементарным образом в кодировке утф, которая нормальным образом передается по протоколу хттп и нормальным же образом отображается в любом даже самом древнем броузере.

    Вордпресс откровенно разочаровал.

    И в ВП таких проблем нет. В базе прекрасно себя чувствуют посты на русском языке.

    Однако Вас же интересуют не посты, а слаги\ссылки.

    Ну да ну да.. То есть содержимое сайта (повторюсь) по протоколу получается не передаётся.. :))

    Т.е. часть URL\URI, которые передаются по ПРОТОКОЛАМ (http(s) и др)

    ааа воно что.. То есть по Вашему по протоколу http оказывается передается ТОЛЬКО ссылка :)))) .. Ну тады с Вами всё ясно

    Очень интересные у Вас умозаключения ..
    Кстати с недавнего времени (может мимо Вас как-то прошло) даже доменные имена на кириллице поддерживаются. (насколько я помню именно Россия была первой, кто обзавёлся своим национальным доменом на своём языке)

    За сим прекращаю бесполезную трату времени.

    меня личное Ваше мнение не интересовало. Меня интересовал вопрос: как исправить. Всё!.. А Вы развели тут не пойми что ….

    Вот для Вас из рунета:
    «Основная задача протокола HTTP – это прием и передача гипертекстовых документов. Т.е. тех веб-страниц, которые мы просматриваем в браузере.»

    По сути, протокол HTTP – это инструмент, с помощью которого можно передавать веб-странички в сети Интернет. А, что собой представляет веб-страница, которую мы получаем в ответе сервера? На самом деле это обычный HTML-код , который получает браузер и соответствующим образом его интерпретирует.

    Вы может не знали: Все значки передаются в виде своих кодов. Так что без разницы какой набор латинских букв и цифр передавать, если броузер может их преобразовать и корректно отобразить. Зачем мне их еще раз кодировать в какие-то проценты? (я не спрашиваю, утверждаю), которые после копирования в документ даже не отображаются корректно? Лет пять назад когда начинал разбираться с утф, никаких проблем с копированием ссылок в документ не возникало.

    Модератор Юрий

    (@yube)

    Кстати с недавнего времени (может мимо Вас как-то прошло) даже доменные имена на кириллице поддерживаются.

    Кстати, нет. Дал бы ссылку на статью про Punycode, но Вы же все равно их игнорируете :))))

    Модератор SeVlad

    (@sevlad)

    wp.me/3YHjQ

    но Вы же все равно их игнорируете

    У меня создаётся твёрдое убеждение, что в среде джумловодов с некоторого времени читать документацию стало западло (сорри за такой сленг). Ведь это далеко не первый такой случай.
    Так мало того, что сами игнорят маны, так ведь ещё и учат и доказывают, что этого делать не нужно, и что там написана ерунда.

    ..Хотя ещё года 3 назад я на форумах по джумле такого не замечал, даже наоборот.

    а ссылка в виде процентов по Вашему выходит не кодируется обратно в нормальный текст? — кодируется.

    Уже браузером, дружище )

    У меня создаётся твёрдое убеждение, что в среде джумловодов с некоторого времени читать документацию стало западло (сорри за такой сленг).

    Не извиняйся, не надо! 🙂

    Кстати, @e-alexey, если вы так любите спорить, тогда объясните почему на Википедии (на которую вы так удачно сослались) все ссылки исполнены в виде ненавистных вами процентов? :)) Кстати, там вся плоскость UNICODE используется, а не только ее подвид UTF-8. Че им слабо? Или они не знаю того, что знаете вы один? 🙂

    Юрий
    к примеру
    http://президент.рф/

    (Ссылка скопирована из броузера, к слову)

    А вообще я не понимаю, раз вам всем тут так нравится латынь, ну так и трещите на иностранных форумах, чего тут отираетесь и пытаетесь доказать нормальным людям что писать на их родном языке используя тех.средства (!созданные самими же людьми) — невозможно ..

    Модератор Юрий

    (@yube)

    к примеру
    http://президент.рф/

    Открою Вам страшную тайну: имя этого домена xn--d1abbgf6aiiy.xn--p1ai. Русские буквы из этого чуда делает браузер.

    Модератор Юрий

    (@yube)

    раз вам всем тут так нравится латынь, ну так и трещите на иностранных форумах, чего тут отираетесь

    А вот это, милейший, уже не Ваше дело, где и как нам общаться.

    что в среде джумловодов с некоторого времени читать документацию

    убогое суждение, уж простите. С чего вы взяли что я джумловод, во-первых. Во-вторых, не стоит судить о том о чем не имеете понятия и грести всех под одну гребенку. Убого это. К тому же ВП вполне нормальная система, иначе бы не стал даже устанавливать и пробовать что-то там исправить. Ненормально только сохранение ссылок в БД. Так что не разбрасывайтесь словами в будущем.

    Документацию читаю. Просто я говорю вам про Фому а вы мне пытаетесь что-то про Ерему рассказать. Это или вы тут такие тугодумы или я даже не знаю….
    Я ж по-русски говорю, у вас у всех с чем проблема: с чтением или с пониманием?
    Мне нужно чтоб в базе сохранялась ссылка в кодировке утф. Что кому тут непонятно?
    Юрий предложил способ отключить ту самую функцию которая перекодирует ссылку как я понимаю, в те самые проценты. Но кроме того на этой функции лежат как видно и другие задачи, так что отключать ее нельзя а следует менять функционал как видно… А функционал функции он с неба свалился или его программисты накатали? .. Так что не надо мне байки про невозможность рассказывать. Как человек сделает, так техника и пр. будет работать. А все оправдания и объяснения для скудоумных. Хочется таковыми быть? — пожалуйста, это личное дело каждого, только не надо мне советовать что и как я должен думать, как и на каком языке я должен писать и так далее

    Еще раз: Мне нужно чтоб в базе сохранялась ссылка в кодировке утф. Что кому тут непонятно?

    Кодировка слово понятно? УТФ, понятно? Слово ссылка? Слово база? .. Все личные на что-то взгляды и советы про то как передается ссылка в адресную строку броузера я не спрашивал: я спросил как сделать чтоб сохранять ссылку в базе в нормальном виде (как это происходит на той же ДЛЕ или Джумла).. А вы несете мне чушь про то что я не должен использовать свой родной язык.
    Не надо мне байки рассказывать

    Русские буквы из этого чуда делает браузер

    Русский отображается корректно? корректно.
    А кодировка утф что делает по Вашему ? — то же самое. Но только меня не интересует то как кодируется ссылка в адресной строке: меня интересует чтоб в базе ссылка была в корректном виде: на русском, чтоб даже если понадобится, я мог открыть базу и нормально читать. Чтоб ссылка не обрезалась в 6 раз.
    (все это уже повторяю в 10 наверно раз)

    А вот это, милейший, уже не Ваше дело, где и как нам общаться.

    Может и не моё, может и моё: если мне начинают указывать и советовать использовать вместо родного языка какие-то непонятные для меня латинские загогулины

    Уже браузером, дружище )

    И чем же только кодируется ссылка сохраненная в кодировке утф :)) Только мне нужно не для броузера: мне нужно для себя. Вы написанное понимаете или нет?
    А броузер будет читать то , что ему укажут в программе .. Кроме того любой броузер прекрасно понимает кодировку утф: то есть представляет её в корректном виде.

    Так мало того, что сами игнорят маны, так ведь ещё и учат и доказывают, что этого делать не нужно, и что там написана ерунда.

    Вы русскую речь понимаете? — мне надо чтоб в БД ссылка сохранялась в корректном виде. Для этого, знаю из собственного опыта, её достатоно сохранять в кодировке утф. На сервере выставить поддержку кодировки утф. Для таблицы бд тоже выставить кодировку утф. Всё!

    ПС: ну и конечно корректно обрабатывать её в коде пхп, за чем я и обратился

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