Сегодня я сознаюсь, почему со страниц блога так много ссылок на страницы английской википедии, хотя всё то же самое можно найти и в русской. Ответ очень простой — было некогда разобраться, как ставить ссылки на русскую вики (серьёзно, я делал несколько подходов по 5 минут, но не находил простого способа).
Почему же я не спросил у коллективного разума интернет-знания? Бывают такие вопросы, ответ на которые почти невозможно получить с помощью поисковой машины. Википедия так популярна, что очень трудно найти текст вне википедии, если указал слово «wiki» в своём поисковом запросе. Это как пытаться узнать, выпустила ли свежий альбом «Music» группа «MP3». Ну или сейчас я расскажу, в чём была проблема, а вы покажете, как надо было искать на неё ответ — тоже полезно будет.
Вот представьте, что вам надо сослаться на какую-то статью русской википедии (или любую другую страницу, в адресе которой есть кириллица). Как это сделать?
Кажется, что очень легко:
- открываем нужную страницу википедии,
- копируем в буфер обмена адрес этой страницы из адресной строки браузера,
- вставляем куда угодно.
Попробуйте. У меня всегда получалось что-то такое: «http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B5%D0%BA%D0%B0%D1%80%D1%8F» А хотелось-то увидеть короткую и понятную строчку «http://ru.wikipedia.org/wiki/Преобразование_пекаря» (я честно перепробовал несколько браузеров, поискал решение в сети, но это не помогло). Согласитесь, второй адрес куда яснее и удобнее!
Кто-то скажет, что проблема высосана из пальца. Мол, хоть такие длинные адреса не очень удобны (по адресу не понятно, на какую страницу он приведёт, см. комментарии в этом блоге тут или тут), но жить можно. Проблема в том, что так почти ничего не работает (во всяком случае, если вставлять такие адреса в заметки blogger.com, то получаются такие ссылки, а вовсе не желаемые). Поэтому раньше мне было проще сослаться на английскую версию страницы. Но теперь порядок и гармония восстановлены!
Решение нашлось случайно: я чуть-чуть отредактировал адресную строчку браузера (случайно добавил символ «1», а потом стёр его). После этой процедуры копирование из адресной строки начало давать желаемый URL без процентов (у меня это сработало во всех браузерах, кроме IE).
Итого:- работающий способ проставления ссылок на русскую википедию теперь такой: открываем нужную страницу, делаем небольшое изменение в адресной строке браузера (добавляем и тут же убираем какой-нибудь символ, например), копируем адрес в буфер обмена, ... (я примерно понимаю, почему это работает, но пока не вижу более правильного решения);
- я не знаю, как можно было найти решение этой проблемы в интернете (подозреваю, что тысячи других людей тоже не справились, поэтому половина интернета увешана невнятными адресами с процентами, какие вы можете увидеть по следующим ссылкам: 1, 2);
- поэтому делюсь этим решением с вами, надеясь, что вы тоже поделитесь с теми, кто в этом нуждается.
http://www.url-encode-decode.com/
ОтветитьУдалитьСпасибо, за ссылку.
УдалитьУ меня, к сожалению, это решение не сработало (т.е. адрес «http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B5%D0%BA%D0%B0%D1%80%D1%8F» декодировался, но получилось «http://ru.wikipedia.org/wiki/??????????????_??????»). У Вас работает?
http://meyerweb.com/eric/tools/dencoder/
Удалитьа попробуйте такой
Этот работает, спасибо!
УдалитьОтлично работает + 5
УдалитьЯ копировал по частям. Сперва http://ru.wikipedia.org/wiki/, потом Функция_(математика), потом обе части склеивал. Но ваш способ мне нравится больше :)
ОтветитьУдалитьОтлично! Как минимум одному человеку стало лучше :)
УдалитьИз личного опыта: копирую адрес не полностью "ttp://ru.wikipedia.org/wiki/Преобразование_пекаря" потом дописываю недостающий "h" в начале.
УдалитьВы когда нибудь задумывались, почему так происходит?
Всё дело в том, что реальный адрес страницы идёт именно с %, а браузер показывает уже преобразованный вариант без %(не во всех браузерах так).
Копируя весь видимый адрес, в буфер обмена падает реальный адрес. А если копировать часть адреса, то это распознаётся как текст и в буфер падает выделенный фрагмент.
Соответственно страниц типа "http://ru.wikipedia.org/wiki/Преобразование_пекаря" не существует на вики. Сайт(или браузер по запросу сайта) преобразовывает в адрес с % и мы попадаем на нужную страницу.
И кстати, это часто используют мошенники, маскируя свой сайт под популярные.
УдалитьНапример: вы на каком то сайте, увидели банер с надписью "Вам новое письмо на одноклассниках! Нажмите кнопку, чтобы прочитать". При нажатии на кнопку банера, вы попадаете на сайт мошенника, который внешне не отличается от настоящего и даже вместо реального адреса, вы увидите "ok.ru". Разница лишь в том, что на этом сайте вы будете не авторизованы! Даже если вы всегда просто заходили на сайт без логина и пароля. И вы думая, что находитесь на настоящем сайте, ведь даже в адресной строке настоящий адрес, вводите свои логин и пароль. После чего введённые вами данные отправляются злоумышленнику, а вас просто перекидывает на настоящий сайт, где вы уже были авторизованных до этого.
Извините за офф топ. Это для примера.
на самом деле все очень просто, надо было использовать такой запрос "копирование url с русскими символами firefox" ну или любой другой браузер, и на второй же ссылке :
ОтветитьУдалить"Чтобы этого не происходило, необходимо перейти по адресу about:config, найти там параметр network.standard-url.escape-utf8, и установить его значение в false. Этот параметр работает в Firefox 3.6.x. "
Спасибо, что показали, как надо было искать решение!
УдалитьОгромное спасибо!
УдалитьМожно сделать гораздо проще :)
ОтветитьУдалить1. В Firefox открываем about:config
2. Ищем "network.standard-url.escape-utf8"
3. Меняем на false
4. ...
5. Profit :)
Здорово, что уже два человека знают этот финт (выше даже написано, как его найти :)
УдалитьСпасибо, очень актуально!
ОтветитьУдалитьПрекрасно! Уже второй человек получил пользу из-за того, что я промазал по клавиатуре нетбука :)
УдалитьВот вам еще любопытное наблюдение от пользователя Ubuntu
ОтветитьУдалитьВ хроме не работает ваш способ - копируются адреса с процентами
В опере - адреса копируются с русскими буквами без каких-либо дополнительных действий
Спасибо за информацию!
УдалитьЯ проверял только в виндовом хроме - там это решение сработало.
не всегда в орере копируется с русскими буквами
УдалитьСпасибо!
ОтветитьУдалитьВ Опере надо установить флажок opera:config#Network|UTF8EscapeURLs (что по умолчанию сейчас ставится - не знаю).
ОтветитьУдалитьК слову на некоторых форумах и блогах http://ru.wikipedia.org/wiki/Преобразование_пекаря превратится в ссылку http://ru.wikipedia.org/wiki/ и текст Преобразование_пекаря, причём не всегда это можно исправить (например если там автоформатирование без доступа к html или bb тегам). К русскоязычным доменам тоже далеко не все парсеры лояльны.
К сожалению, иногда форумы неверно распознают ссылки. Увы, это бывает и с кодированными адресами (которые порой вообще зарезаются до 64 символов, что не позволяет узнать, куда хотел сослаться автор сообщения).
УдалитьНу как крайний вариант, есть сокращатели ссылок, которые позволяют решить такую проблему в особо запущенных случаях, но с ясностью того, куда ведут ссылки, ставится всё совсем плохо.
УдалитьСпасибо!
ОтветитьУдалитьА почему вообще возник такой вопрос& Ведь Вы же имеете возможность размещать ссылки под текстом и можете написать сверху что угодно.
ОтветитьУдалитьДа, если бы я формировал окончательный html-код, то можно было бы смириться с длинными ссылками вида <a href="ДЛИННЫЙ_АДРЕС_С_ПРОЦЕНТАМИ">ссылка</a>
УдалитьНо, например, данная блог-платформа чуть-чуть преобразует код, «исправляя» проценты на что-то другое. Из-за этого ссылка ломается (вместо кириллических символов отображаются вопросительные знаки).
Решить это можно сокращателем ссылок, но быстрее и понятнее было сослаться на английскую версию статьи.
..открываем нужную страницу, делаем небольшое изменение в адресной строке браузера (добавляем и тут же убираем какой-нибудь символ, например), копируем адрес в буфер обмена, ... (я примерно понимаю, почему это работает..
ОтветитьУдалитьне соображу, почему помогает этот способ?
Я это так понимаю - адресная строка может сформироваться двумя способами:
Удалить- в результате перехода с одной страницы на другую (тогда отображается адрес без кодирования в однобайтовую кодировку, а "внутри" хранится кодированный адрес),
- в результате изменения строки пользователем (вставил что-то из буфера обмена или отредактировал с клавиатуры) - в этот момент отображается ровно то, что хранится "внутри".
Соответственно, когда мы копируем содержимое адресной строки в буфер обмена, то берётся значение из внутренней строки. Если мы строку поменяли "руками", то в буфере получим то, что видим на экране. Если же не меняли, то будет скопирована кодированная строка с процентами.
Но можно заглянуть в открытые исходники браузеров - тогда всё встанет на свои места :)
спасибо за разъяснение
ОтветитьУдалитьХм, windows 7, firefox nightly - не работает метод.
ОтветитьУдалитьСпасибо за информацию.
УдалитьА предложенная выше правка network.standard-url.escape-utf8=false сработала?
Проще всего перед копированием добавить пробел. Его удалять не нужно.
ОтветитьУдалитьВ хроме помогает.
Ну да, это два самых быстрых и естественных решения, которые мне сразу пришли в голову :) Но нажимать пробел в адресной строке оказалось чуть быстрее.
ОтветитьУдалитьКуда конкретно добавить пробел?
ОтветитьУдалитьСразу после URL в адресной строке.
ОтветитьУдалитьКлааассс!
ОтветитьУдалить