Кодировка utf-8

Главные вкладки

Аватар пользователя moonman moonman 23 июля 2006 в 11:19

Вобщем открываю html-код любой страницы и там у меня всё прописано вот таким образом:

ќРµР±РµСЃРЅС‹Р№ портал Путь Любви

Хотя когда просто просматриваешь страницы - то всё по-русски.
Вопросы такие:
1) Будут ли эти иероглифы искаться поисковиками типа яндекс, гугл .... ??? И вообще можно как-то сделать чтобы всё же было по-русски?
2) Насклько я знаю при кодировке utf-8 база данных становится гораздо больше, т.к. utf-8 шифрует русские символы в шесть раз длиннее, т.е. один русский символ она кодирует шестью (поэтому база данных в несколько раз больше чем при windows-1251).
Обосную:
Например слово "друпал"
будет закодировано и выглядеть так:
друпал
Это слово "друпал" при кодировке utf-8
Т.е. само сабой база данных будет в 6 раз больше из-зи того что русские символы кодируются в шесть раз больше.
Вопрос - какой смысл иметь базу данных растущую в шесть раз быстрее когда при варианте windows-1251 руские символы не кодируются и видятся один к одному?

Комментарии

Аватар пользователя mephisto mephisto 23 июля 2006 в 14:13

1) http://www.linux.org.ru/books/man/man/man7/utf-8.7.html - читай внимательно, никак не 6.
Что касается базы, то возможно ты и прав на счет 6-ти символов, но только в случае mysql, если не ошибаюсь postgress использует как раз UTF-8 и работает с ней правильно.
2) С UTF-8 поисковики должны работать на ура.
UTF-8 выбрана из тех соображений, что при её использовании на сайте можно помещать и ASCII символы и кирилицу и символы немецкого алфавита, не заморачиваясь с кодировками. Для редактирования файлов в UTF-8, тебе просто нужен хороший редактор (я пользуюсь emacs), если нет нормального редактора, то можно фоспользоваться ворд Wink (по крайней мере прочитать файл как надо он сможет, на счет записи не уверен).

Аватар пользователя moonman moonman 23 июля 2006 в 15:18

Не ну просто мне ни то что немецкий мне собсно и инглиш никогда не понадобится. так зачем платить больше?
А если учесть сколько база будет занимать с учётом индексируемых слов...
Это же тоже всё будет в символах UTF-8 которых в 6 раз больше. У меня уже база данных 5 Mb а там по сути дела ещё ничего не напостили...
А что будет через месяц...

А что по повду вот этих иероглифов в моём коде:
ќРµР±РµСЃРЅС‹Р№ портал Путь Любви
Как от них избаваться?
Я открываю html-код на http://drupal.ru и такой фигни нету - все символы в нормально читаемом русском виде.
А у меня всё вот так:
ќРµР±РµСЃРЅС‹Р№ портал Путь Любви

Аватар пользователя Nick Nick 23 июля 2006 в 17:33

Нет. utf-8 всегда кодирует один символ либо 1, либо 2 байтами. Она ascii совместимая и переменной длины.
.
А когда ты открываешь html-код любой страницы, ты должен его открывать редактором, который понимает utf8. Стандартный виндовый блокнот, из Юникода, понимает только utf-16.
.
С поисковиками проблем нет. Все современные замечательно понимают utf8.

Аватар пользователя moonman moonman 23 июля 2006 в 18:30

Nick, скачал сейчас дамп, посмотрел:

Контент весь правда по-русски.

Никаких шифровок utf-8 нет, все буквы нормальные, русские.
Значит тут проблем нет.
Так , а что выходит инфа про utf-8 не правильная, что один к шести?

Аватар пользователя B.X B.X 23 июля 2006 в 22:49

[b]Так , а что выходит инфа про utf-8 не правильная, что один к шести?[/b] Не один к шести, но больше, чем однобайтные кодировки. С учётом того, что mysql теперь понимает кодировки и может иметь разные настройки для контента и для ввода данных.

Аватар пользователя Гость Гость (не проверено) 5 августа 2006 в 21:15

А вот я хочу вывести из БД, кот. при чём тоже в коде utf-8, несколько символов (отрывок из новостей) функцией: "substr($oldnews, 0, 20)"...
но иногда страница на которой я всё это вывожу просто не грузится...
т.к. выводится код utf-8, т.е. выводятся 20 символов самого кода, а не текста на русском... как быть??

Аватар пользователя Nick Nick 6 августа 2006 в 13:23

Ничего не понятно...
.
Что за "код utf8, а не русский"?
Приведите пример странички. Если ее нет в открытом доступе, то можно отправить на znick [aat] inbox.ru