Решил осваивать новое направление — создание сайтов. Купил себе хостинг на GoDaddy и попытался залить на него пробные странички aspx. Простейшая страничка состоит из Master Page — в котором содержатся некоторые надписи по-русски, и контент с русским же текстом. В VS студии — при просмотре на локальной машине все работает нормально. После слива контента на хостинг — получаю в браузере "кракозябу" — набор непонятных символов, который никак не превращается в русский язык при изменениях кодировки браузера.
Связавшись со службой саппорта хостера получил ответ, что они поддерживают юникод и слыхом не слыхивали про русский алфавит. Подскажите в каком направлении можно поискать решение данной проблемы? Какие принципиальные моменты мне нужно узнать в этом вопросе и по каким ключевым словам вести поиск ответа?
Re: Русский язык на американском хостинге (GoDaddy)
globalization Element (ASP.NET Settings Schema)
+ первым делом проверить, что все .aspx и .cs файлы фактически сохраняются в Unicode (в студии — File->Save As->Save With Encoding (стрелка на кнопке Save)).
Re: Русский язык на американском хостинге (GoDaddy)
Здравствуйте, Andrey.Katkov, Вы писали: AK>Связавшись со службой саппорта хостера получил ответ, что они поддерживают юникод и слыхом не слыхивали про русский алфавит. Подскажите в каком направлении можно поискать решение данной проблемы?
При сохранении .aspx нужно явно указать UTF-8.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Русский язык на американском хостинге (GoDaddy)
Обязательно для выдачи клиенту русского языка использовать кодировку windows-1251. Во-первых, русский символ в этой кодировке занимает 1 байт в отличии от utf-8 (2 байта) (меньше трафика). Во-вторых так правильно.
ЗЫ
Только что обратил внимание, что в RSDN кодировка utf-8. Но это не лучший вариант? Возможно это связанно с тем, что используют глючный MS AJAX, который только с utf-8 работает.
Re[2]: Русский язык на американском хостинге (GoDaddy)
Здравствуйте, 0K, Вы писали:
0K>Обязательно для выдачи клиенту русского языка использовать кодировку windows-1251. Во-первых, русский символ в этой кодировке занимает 1 байт в отличии от utf-8 (2 байта) (меньше трафика). Во-вторых так правильно.
Обязательно для выдачи клиенту русского языка использовать кодировку utf-8. Во-первых, применяя utf-8, можно без приплясываний с бубном выдавать мультиязычный контент, что требуется очень часто, и изменение размера текста все равно не существенно по сравнению с парой картинок на том же сайте. Во-вторых, так правильно.
0K>Только что обратил внимание, что в RSDN кодировка utf-8. Но это не лучший вариант?
Здравствуйте, Sinclair, Вы писали:
AK>>Связавшись со службой саппорта хостера получил ответ, что они поддерживают юникод и слыхом не слыхивали про русский алфавит. Подскажите в каком направлении можно поискать решение данной проблемы? S>При сохранении .aspx нужно явно указать UTF-8.
Здравствуйте, Gollum, Вы писали:
G>Обязательно для выдачи клиенту русского языка использовать кодировку utf-8. Во-первых, применяя utf-8, можно без приплясываний с бубном выдавать мультиязычный контент, что требуется очень часто, и изменение размера текста все равно не существенно по сравнению с парой картинок на том же сайте. Во-вторых, так правильно.
Все используют кодировку Win-1251. Как я уже говорил, 1 байт лучше, чем 2.
На счет мультиязычных приложеий -- согласен. Здесь лучше utf-8. Та же MS его юзает, т.к. сайт мультиязычный.
0K>>Только что обратил внимание, что в RSDN кодировка utf-8. Но это не лучший вариант?
G>Это — лучший вариант.
А разве rsdn мультиязычен?
Re[3]: Русский язык на американском хостинге (GoDaddy)
Здравствуйте, Andir, Вы писали: A>А можно и fileEncoding в globalization указать.
От этого редактор студии станет сохранять файлы в какой-то другой кодировке?
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Русский язык на американском хостинге (GoDaddy)
Здравствуйте, Sinclair, Вы писали:
A>>А можно и fileEncoding в globalization указать. S>От этого редактор студии станет сохранять файлы в какой-то другой кодировке?
От этого механизм парсинга aspx-страниц будет их загружать в указанной кодировке. И, следовательно, смысла в пересохранении всех страниц под utf-8 — нет.
А Вы посмотрите на русский гугл, и на его почту.
0K>Все используют кодировку Win-1251. Как я уже говорил, 1 байт лучше, чем 2.
Premature otpimization is root of all evil. Наберите текст который займет 4 экрана веб-браузера. Желательно технический, так как речь идет о RSDN. Подсчитайте разницу. Экономить на десятках килобайт ради отказа от возможностей иметь в сообщении все символы из набора unicode — каждый в общем решает для себя сам.
0K>А разве rsdn мультиязычен?
А почему я должен себя ограничивать? Почему я должен себе отказывать в возможности вставить в мой текст знаки ⅓, Ω, и другие? Только для того чтобы вместо 20 килобайт текста у меня получилось 15? Почему я не смогу написать оригинальное название литературного источника с диакритикой?
Ну, в общем, у меня несколько иные приоритеты, нежели экономия байтов.
Здравствуйте, Andir, Вы писали:
A>Здравствуйте, Sinclair, Вы писали:
A>>>А можно и fileEncoding в globalization указать. S>>От этого редактор студии станет сохранять файлы в какой-то другой кодировке?
A>От этого механизм парсинга aspx-страниц будет их загружать в указанной кодировке. И, следовательно, смысла в пересохранении всех страниц под utf-8 — нет.
Не понял. А почему смысла в пересохранении нет? Если страница сохранена в 1251, а считываться будет как utf8... то получатся же кракозябры.
... << RSDN@Home 1.2.0 alpha 4 rev. 1096>>
Re[6]: Русский язык на американском хостинге (GoDaddy)
Здравствуйте, Idsa, Вы писали:
A>>>>А можно и fileEncoding в globalization указать. S>>>От этого редактор студии станет сохранять файлы в какой-то другой кодировке?
A>>От этого механизм парсинга aspx-страниц будет их загружать в указанной кодировке. И, следовательно, смысла в пересохранении всех страниц под utf-8 — нет. I>Не понял. А почему смысла в пересохранении нет? Если страница сохранена в 1251, а считываться будет как utf8... то получатся же кракозябры.
Если страница сохранена как win-1251, и это дефолтная кодировка для всех страниц, то имеет смысл выставить fileEncoding в параметре globalization вместо того, чтобы заниматься пересохранением всех страниц в utf-8.
Здравствуйте, Andir, Вы писали:
A>Если страница сохранена как win-1251, и это дефолтная кодировка для всех страниц, то имеет смысл выставить fileEncoding в параметре globalization вместо того, чтобы заниматься пересохранением всех страниц в utf-8.
Спасибо! Теперь понял.
... << RSDN@Home 1.2.0 alpha 4 rev. 1096>>
Re[5]: Русский язык на американском хостинге (GoDaddy)
Здравствуйте, Andir, Вы писали:
A>От этого механизм парсинга aspx-страниц будет их загружать в указанной кодировке. И, следовательно, смысла в пересохранении всех страниц под utf-8 — нет.
Я бы пересохранил в utf-8 — это избавит от проблем при редактировании файлов на компе с произвольной локалью (например на удаленном сервере).