Xpoint
   [напомнить пароль]

Кодировка для сайта с двумя языками

Метки: [без меток]
2007-02-04 21:40:41 [обр] Юрий[досье]

Добрый день (вечер, ночь, утро...)!

Я делаю форум одновременно на двух языках: русском и французском.

Меня волнует вопрос, будет ли правильно отображаться его содержание (буквы французского алфавита, отличного от английского).
Не будут ли вместо текста сплошные каракули?
Какую кодировку можно использовать для этого?

Заранее спасибо!

спустя 4 часа 47 минут [обр] Давид Мзареулян(14/1003)[досье]
UTF-8.
спустя 6 часов [обр] Михаил Лялин aka J()KER(2/5)[досье]
Unicode и через мета-теги ссылки на те же страницы на др.языке с указанием языка
спустя 2 часа 56 минут [обр] Роман Чемисов(7/327)[досье]
Михаил Лялин aka J()KER[досье]
Кстати, а как в таком случае должен выглядеть мета-тег?
спустя 1 час 8 минут [обр] Юрий[досье]

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
А дальше как? Хороший вопрос... Кстати, UTF-8 или Unicode?

Вы предлагаете хороший выход: развести языки по разным страницам. Наверное я так и сделаю. А вместе никак нельзя? Чтоб и русский, и французский?

спустя 22 минуты [обр] Василий :)+++(0/1)[досье]
  1. Пишем сайт с использованием кодировки UTF-8
  2. В каждом HTTP-запросе передаем информацию о языке. В гиперссылках пишем язык через GET-параметры (www.server.com/ru/forum/?lang=ru) или через виртуальные адреса (www.server.com/ru/forum/) c использованием mod_rewrite, при POST-запросах соответственно через hidden-поля передаем значение языка.
  3. В приложении смотрим, какой язык интерфейса выводить, и выводим в соответствии с REQUEST-переменными. Если в REQUEST язык не определён, то используем язык по умолчанию определённый в начале программы.
  4. Хранить языковые данные можно как угодно. Можно в СУБД, можно в XML. Я храню файлы с языковыми конструкциями в -ini файлах с соответствующим синтаксисом — очень удобно при редактировании, ибо считаю, что языковые элементы — часть шаблона, а не данных. Удобно и быстро ручками в редакторе редактировать.
  5. В PHP разбираю файл с помощью соответствующих функций и помещаю языковой массив.
  6. В шаблоне вывожу примерно так:
<div>
    <small><?=$_HTML["llib"]["51"]?><br /><?=$_HTML["llib"]["87"]?></small>
</div>
спустя 1 минуту [обр] Василий :)+++(0/1)[досье]
Кстати, UTF-8 или Unicode?

UTF-8 — это разновидность Unicose. См. http://ru.wikipedia.org/wiki/UTF-8

А вместе никак нельзя? Чтоб и русский, и французский?

Зачем?

спустя 4 часа 10 минут [обр] Антон Клесс(0/25)[досье]

Василий :)[досье], на странице форума могут одновременно оказаться символы обоих алфавитов (в списке топиков, к примеру). Но использование Юникода эту проблему решит (что весьма удачно сделали, например, в Википедии).

Другой вопрос — где взять freeware движок форума с поддержкой UTF, я вот с таковыми не сталкивался.

спустя 6 минут [обр] Юрий[досье]
Спасибо...
Это все относится к форуму, или к сайту тоже?
Можно ли сделать сайт не в utf-8, тем более, что на одной страничке будет только один язык?
То есть может быть можно написать для французского раздела в ихней кодировке, а для русского - в windows1251?
P.S. Я наверное неправильно вначале выразился, я форум не делаю, а ищу готовый. Мои знания ограничиваются началами html :(
спустя 7 минут [обр] Антон Клесс(0/25)[досье]

Господа, возьмусь прояснить ситуацию, ибо на Точку Юрий[досье] пришел по моему совету.

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

Возможно, стоит оставить страницы в windows-1251 и javaскриптом кодировать при отправке сообщений все специфично-французские символы в примитивы? Возможно, есть какие-то хаки на эту тему?

спустя 4 часа 25 минут [обр] Василий :)+++(0/1)[досье]

Антон Клесс[досье]

и javaскриптом кодировать при отправке сообщений все специфично-французские символы в примитивы

ИМХО это ещё труднее, чем юзать Unicode. Плюс ко всему к хорошему тону лучше приобщаться сразу.

Это все относится к форуму, или к сайту тоже?

К любому приложению клиент-сервер, в котором планируются использовать различные языки.

Можно ли сделать сайт не в utf-8, тем более, что на одной страничке будет только один язык?
То есть может быть можно написать для французского раздела в ихней кодировке, а для русского - в windows1251?

Может и можно, только это не правильно. Чем Вам UTF-8 не подходит?

спустя 5 часов [обр] Роман Чемисов(7/327)[досье]

Юрий[досье]

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

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

<link ..... />

Только вот что конкретно не знаю :-(

спустя 10 часов [обр] Юрий[досье]

Господа, сколько нужно времени, что бы начать разбираться во все этом (в том, что составляет предмет форума xpoint)?????? И начать прогамировать....

Знаю, ответ такой: смотря как заниматься, с какой постоянностью.

Хорошо, а сколько времени ЭТО заняло у вас? Просто интересно

спустя 15 минут [обр] Антон Клесс(0/25)[досье]
Юрий[досье], тематика XPoint довольно широка. И чтобы быть экспертом во всём, что здесь обсуждают, нужны годы.
спустя 5 минут [обр] Юрий[досье]
Я уже совсем наверное не в тему: Существует ли форум Yabb с французским интерфейсом?
спустя 40 минут [обр] Давид Мзареулян(14/1003)[досье]
Юрий[досье] Почему бы Вам не поискать ответ на этот вопрос на http://www.yabbforum.com/?
спустя 1 час 30 минут [обр] Юрий[досье]
Уже поискал, спасибо. Там нет. просто, может есть энтузиасты :)...
спустя 8 дней [обр] Юрий[досье]
Можно ли писать сайт в кодировке windows 1251 на двух языках: русском и французском? То есть, как я понимаю, посетитель моего сайта, если у него есть данная кодировка, увидит все символы корректно?
Я не касаюсь в данный момент форума.
спустя 1 час 42 минуты [обр] Василий :)+++(0/1)[досье]
Юрий[досье] Понимаете, в кодировке windows 1251 грубо говоря нет французских символов. Они есть во французской кодировке, но во французской кодировке нет русских символов.
спустя 2 часа 1 минуту [обр] Иванов Михаил aka Ivanych(5/70)[досье]
Юрий[досье], бросьте извращаться. Вам первым же ответом сказали, что нужно использовать кодировку UTF-8. UTF-8 - это не просто один из способов решения Вашей задачи, а прямо таки самый что ни на есть кошерный и единственно соответствующий линии партии способ.
спустя 46 минут [обр] Юрий[досье]

Михаил, на счет извращаться, это вы зря.

Я в этом деле новенький и многого не понимаю.

Просто я пишу страницы в текстовом редакторе front pаge и у меня все отображается, в интернете тоже. В связи с этим и был задан мой вопрос.

Если подскажете руководство, по написанию страниц в Юникоде, буду очень признателен.

Что насчет единственного способа, то тут вы не правы, есть и обходные пути. И не известно, что лучше. Но так, как я во всем этом плохо разбираюсь, то и спрашиваю вашего совета.

спустя 1 час [обр] Давид Мзареулян(14/1003)[досье]
Что насчет единственного способа, то тут вы не правы, есть и обходные пути. И не известно, что лучше. Но так, как я во всем этом плохо разбираюсь, то и спрашиваю вашего совета.

Вы определитесь, или Вы «во всем этом плохо разбираетесь, и спрашивете нашего совета», или Вы и сами всё знаете, и пришли сюда всем рассказать, что «есть и обходные пути, и не известно, что лучше».

Вообще, мне кажется, Вам стоит перестать морочить всем голову и прямо уже сказать, наконец, чего Вы хотите. Подозреваю, что это будет звучать примерно как «настройте мне кто-нибудь форум на Yabb». Честное слово, это сбережёт кучу времени и Вам и здешней публике.

спустя 18 часов [обр] Юрий[досье]
  1. Форум YaBB настроить не надо, он уже настроен (не мною).
  1. Я вам объясняю, что на моей странице в интернет все отображается отлично и без юникода. Можете посмотреть здесь: http://www.fr-ru.spb.ru/francais/index.html.
  1. Все символы французского алфавита, которых нет в английском, преображаются в символьные примитивы (в коде), при сохранении страницы.
  1. Во Франции естественно есть кодировка Windows 1251, поэтому при попадании на сайт, они увидят тоже, что и я (Это вопрос).
  1. А так как сайт мой сечас не в юникоде, а в названной выше кодировке, то обходные пути, я так понимаю, все таки есть.
  1. Повторяю, если бы я "все знал", меня бы сейчас здесь не было.
  1. Если кому-то не нравится общение со мной, пометьте для себе, что сообщения от Юрия лучше не читать.
  1. Если кто-то работал с юникодом, то я повторяю свою просьбу подсказать толковый и не слишком заумный учебник.

И наконец 9, форум YaBB - в windows 1251, возможно ли, что на одном сайте будет две разных кодировки, UTF-8 для сайта как такового, и windows 1251 для форума?

Все. Если кого чем обидел, прошу прощения.

P.S. Чего я хочу? Понять!

спустя 25 минут [обр] Давид Мзареулян(14/1003)[досье]
  1. а) Можно, б) затрахаетесь. ОСОБЕННО затрахаетесь делать поиск.
  1. Всегда есть много неправильных путей.
  1. Сколько угодно.
спустя 2 часа 2 минуты [обр] Юрий[досье]
  1. Давид Мзареулян[досье], я попросил бы Вас выбирать выражения. Вот видите, делать поиск будет трцдно, а я этого не знал, теперь знаю, большое спасибо. У каждого явления есть множество аспектов. Моя задача - рассмотреть как можно больше.
  1. Какие еще могут возникнуть проблемы, если оставить все как есть?
  1. Спасибо, просветили.
спустя 2 часа 1 минуту [обр] Давид Мзареулян(14/1003)[досье]
Юрий[досье] 2. В данном случае это технический термин.
спустя 7 минут [обр] Андрей Гора(0/29)[досье]
Давид Мзареулян[досье], Юрий[досье] прав, он действительно предложил обходной вариант, и непонятно, почему Вас так это обидело. Проблем с поиском в том случае нет никаких. А в работе с многобайтными кодировками есть и плюсы и минусы, так что это вопрос обсуждаемый, а не декларируемый.
спустя 18 минут [обр] Иванов Михаил aka Ivanych(5/70)[досье]

Андрей Гора[досье]

...он действительно предложил обходной вариант...

Ключевое слово тут - обходной.

спустя 27 минут [обр] Давид Мзареулян(14/1003)[досье]

Андрей Гора[досье] Ну и ради бога. Мы-то здесь при чём? Человек спросил «как надо?» — ему ответили. Зачем после этого ещё две недели вынимать всем мозг — не понимаю. Либо есть какие-то технические противопоказания к использованию UTF-8 — тогда об этом надо сказать.

Насчёт плюсов и минусов многобайтности — можем открыть отдельную тему.

Юрий[досье] Сорри, опечатался, “2” в моих ответах относилось к Вашему 3-ему пункту («Все символы французского алфавита, которых нет в английском…»).

спустя 4 минуты [обр] Юрий[досье]

Андрей Гора[досье], предложил не я, а Клесс Антон, ему спасибо.

Он же это дело и провернул на моем форуме, теперь там все с блеском работает :)

Приятно слышать, что я еще не законченный идиот.

Многобайтные кодировки - это, я так понимаю, про то, что в юникоде каждый символ - 4 байта, а не два.

И плюсы, и минусы... Я хотел бы о них знать. Тот же Антон говорит, что могут быть каие-то проблемы с php.

Давид Мзареулян[досье], я две недели никому мозги не вынимаю, они бы у вас уже кончились. Я зерез две недели поднфл этот вопрос, так как для меня многое осталось непонятным

спустя 13 минут [обр] Василий :)+++(0/1)[досье]

Юрий[досье] Вам сказали русским языком — для мультиязычных приложений нормальные люди используют Unicode. Примеры глобального масштаба — http://livejournal.com и http://wikipedia.org

Домашнюю страничку может и можно сделать на двух разных кодировках, но с мультиязычными динамическими приложениями, которые теоретически могут использоваться для ВСЕХ языков мира — неприемлемо и неоправданно.

спустя 4 минуты [обр] Юрий[досье]

Согласен, неприемлемо и неоправдано!
Совершенно верно!!! Русский тоже очень хорошо понимаю!
У меня сайт в одной кодировке, а не в двух: Windows 1251

Да, со спецсимвольными примитивами может и некрасиво, да, удобнее было бы с unicod.

Да, можно сделать домашнюю страничку в двух кодировках, а можно в трех.

Но я так понимаю, что юникод - это что-то очень сложное. Я ошибаюсь? Поправьте меня!

спустя 19 минут [обр] Василий :)+++(0/1)[досье]
Да, со спецсимвольными примитивами может и некрасиво

Не просто некрасиво - мнемоники этих знаков не распознаются поисковыми системами. Это уже очень важный фактор.

что юникод - это что-то очень сложное. Я ошибаюсь?

Нет, просто из-за того, что он относительно недавно начал использоваться в web, есть некоторые проблемы у ПО работающего с ним — СУБД или тот же PHP, где приходится юзать специальные функции, отличные от основных однобайтовых.

Ещё раз прочитайте: http://ru.wikipedia.org/wiki/%D0%AE%D0%BD%D0%B8%D0%BA%D0%BE%D0%B4

спустя 40 минут [обр] Давид Мзареулян(14/1003)[досье]
И плюсы, и минусы... Я хотел бы о них знать. Тот же Антон говорит, что могут быть каие-то проблемы с php.
Тогда это тема для отдельной ветки. Хотя, у меня создалось впечатление, что Вы сами не программируете. Тогда зачем Вам это лишнее знание, которое, как давно замечено, есть лишняя скорбь?
спустя 32 минуты [обр] Юрий[досье]

Что значит програмировать?

Пока что я могу лишь писать html код - основные функции.

Если не учиться ничему, ничего не узнавать, то ничего и не узнаешь.

Я думаю вы тоже когда-то не програмировали?

Создавайте отдельную ветку, я так понял, что пока что еще плохо могу сформулировать то, что мне нужно. Будет интересно почитать....

спустя 1 час 40 минут [обр] Андрей Гора(0/29)[досье]

Юрий[досье], начинать учить програмирование с разбора проблем многобайтных кодировок есть хороший способ заработать себе комплекс неполноценности. Основное Вам уже все сказали.

Классический способ - UTF-8, но при этом во многих операциях нужно учитывать многобайтность. Например, сейчас MySQL проапгрейдилась до 4.1 и по сравнению с 4.0 считает CHAR() в символах, а не в байтах. Для однобайтовых кодировок разницы нет, но не для многобайтовыхх. И т.д.

"Обходной" как Вы выразились путь - использовать родную Windows-1251. Хоть Иванов Михаил aka Ivanych[досье] и осуждает обходные пути, но усложнив в чемто одном, можно упростить в другом. Василий :)[досье], поисковые системамы нормально понимают HTML сущности и это логично.

Пойти можно обеими путями. Грабли есть и там и там. Пробуйте.

спустя 12 часов [обр] Василий :)+++(0/1)[досье]

Андрей Гора[досье] А я слышал, что не понимают )

хороший способ заработать себе комплекс неполноценности

хахаха! +1

спустя 3 часа 52 минуты [обр] Юрий[досье]

Так давайте определенно решим, понимают или нет?

Просто есть три варианта -
1.Писать русские страницы в Windows 1251, а французские - в Windows 1252(кажется там у них такая)
2.Писать все в Windows 1251, используя символьные примитивы.
3.Писать в UTF-8, но во-первых я не хочу комплекса неполноценности (Андрей Гора[досье]), а во-вотрых я так понял не доконца прояснен вопрос о совместимости этой кодировки.

Я хотел бы узнать, хорошь ли первый путь? Если учесть, что в перспективе не планируется использовать в моем проекте больше двух языков.

Спасибо.

Василий :)[досье], прочитал статью из Википедии, очень интересно и мало что понятно. Удивляюсь, как вообще что-либо подобное можно создать. Меня вообще всегда поражала такая штука, как компьютер, интернет и т.д.

спустя 18 минут [обр] Давид Мзареулян(14/1003)[досье]
Так давайте определенно решим, понимают или нет?

Понимают. Не слушайте всяких кликуш. Я лично под поиском имел в виду реализацию внутреннего поиска по сайта.

Меня вообще всегда поражала такая штука, как компьютер, интернет и т.д.

Это очень заметно. Занимайтесь лучше тем, что понимаете хорошо. Уверен, от этого будет больше пользы и Вам и человечеству.

спустя 13 минут [обр] Юрий[досье]

Благодарю за дельный совет, я занимаюсь историей и собириаюсь продолжать ей заниматься.

Однако, я еще не настолько стар (хотя, может быть 19 - это уже старость???), чтобы не изучать ничего нового и не открывать для себя новые стороны бытия.

На счет кликуш (а кто это такие, я надеюсь вам известно) вы, во-первых, ошибаетесь, а во-вторых, я думаю вам лучше ответят они (то есть те, кто так считают) сами.

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

спустя 5 минут [обр] Давид Мзареулян(14/1003)[досье]
Юрий[досье] Ответ на этот вопрос был дан ещё две недели назад. Если Вы его не смогли прочесть — это целиком Ваши проблемы.
спустя 27 минут [обр] Юрий[досье]

Скажите, это я дурак или нет???

Две недели назад мне сказали писать все в Юникоде.

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

Я спрашиваю не как лучше (каждый думает что-то свое), а можно ли "1.Писать русские страницы в Windows 1251, а французские - в Windows 1252(кажется там у них такая)"
Почему нет? Не планируется, понимаете, на одной странице двух языков!!!

Итак, почему нет? Только потому, что уникод - это круто? Это удобно? А может и не так удобно?

спустя 2 минуты [обр] Юрий[досье]
А если я например хочу, чтобы мои страницы быстро грузились (загружались), а с юникодом они будут грузиться на комп в два раз дольше? Я если у меня там будет много текста? Понимаете, все не так однозначно.
спустя 33 минуты [обр] Александр Галкин(0/211)[досье]

Юрий[досье]

…можно ли "1.Писать русские страницы в Windows 1251, а французские - в Windows 1252…

Да можно, можно, никто Вам ничего не запрещает. Работать это вполне себе будет. Если хочется — делайте.

Юникод — это перспективно. У него есть плюсы и минусы. И у «простых» кодировок есть плюсы и минусы. Эти плюсы и минусы невозможно узнать, просто спросив на форуме, потому что для понимания нужен опыт. Хотите понять — берите и делайте, понимание придёт в процессе.

спустя 1 час 43 минуты [обр] Юрий[досье]
Я думаю, тема может быть закрыта.
Powered by POEM™ Engine Copyright © 2002-2005