Русский язык на американском хостинге (GoDaddy)
От: Andrey.Katkov  
Дата: 16.07.08 07:35
Оценка:
Доброго времени суток!

Решил осваивать новое направление — создание сайтов. Купил себе хостинг на GoDaddy и попытался залить на него пробные странички aspx. Простейшая страничка состоит из Master Page — в котором содержатся некоторые надписи по-русски, и контент с русским же текстом. В VS студии — при просмотре на локальной машине все работает нормально. После слива контента на хостинг — получаю в браузере "кракозябу" — набор непонятных символов, который никак не превращается в русский язык при изменениях кодировки браузера.

Связавшись со службой саппорта хостера получил ответ, что они поддерживают юникод и слыхом не слыхивали про русский алфавит. Подскажите в каком направлении можно поискать решение данной проблемы? Какие принципиальные моменты мне нужно узнать в этом вопросе и по каким ключевым словам вести поиск ответа?
Re: Русский язык на американском хостинге (GoDaddy)
От: Овощ http://www.google.com
Дата: 16.07.08 07:47
Оценка: 3 (1)
Здравствуйте, Andrey.Katkov.

globalization Element (ASP.NET Settings Schema)
+ первым делом проверить, что все .aspx и .cs файлы фактически сохраняются в Unicode (в студии — File->Save As->Save With Encoding (стрелка на кнопке Save)).
Re: Русский язык на американском хостинге (GoDaddy)
От: Sinclair Россия https://github.com/evilguest/
Дата: 16.07.08 07:58
Оценка: 3 (1)
Здравствуйте, Andrey.Katkov, Вы писали:
AK>Связавшись со службой саппорта хостера получил ответ, что они поддерживают юникод и слыхом не слыхивали про русский алфавит. Подскажите в каком направлении можно поискать решение данной проблемы?
При сохранении .aspx нужно явно указать UTF-8.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Русский язык на американском хостинге (GoDaddy)
От: 0K Ниоткуда  
Дата: 16.07.08 09:19
Оценка: 3 (1) -2
Здравствуйте, Andrey.Katkov, Вы писали:

Все файлы нужно сохранить в UTF-8 и добавить в Web.config такую строчку:

<globalization fileEncoding="utf-8" responseEncoding="windows-1251" requestEncoding="windows-1251"></globalization>


Обязательно для выдачи клиенту русского языка использовать кодировку windows-1251. Во-первых, русский символ в этой кодировке занимает 1 байт в отличии от utf-8 (2 байта) (меньше трафика). Во-вторых так правильно.

ЗЫ
Только что обратил внимание, что в RSDN кодировка utf-8. Но это не лучший вариант? Возможно это связанно с тем, что используют глючный MS AJAX, который только с utf-8 работает.
Re[2]: Русский язык на американском хостинге (GoDaddy)
От: Gollum Россия  
Дата: 16.07.08 11:50
Оценка: 4 (2) +1 -1 :)
Здравствуйте, 0K, Вы писали:

0K>Обязательно для выдачи клиенту русского языка использовать кодировку windows-1251. Во-первых, русский символ в этой кодировке занимает 1 байт в отличии от utf-8 (2 байта) (меньше трафика). Во-вторых так правильно.


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

0K>Только что обратил внимание, что в RSDN кодировка utf-8. Но это не лучший вариант?


Это — лучший вариант.
Eugene Agafonov on the .NET

Re[2]: Русский язык на американском хостинге (GoDaddy)
От: Andir Россия
Дата: 16.07.08 13:28
Оценка: 3 (1)
Здравствуйте, Sinclair, Вы писали:

AK>>Связавшись со службой саппорта хостера получил ответ, что они поддерживают юникод и слыхом не слыхивали про русский алфавит. Подскажите в каком направлении можно поискать решение данной проблемы?

S>При сохранении .aspx нужно явно указать UTF-8.

А можно и fileEncoding в globalization указать.

С Уважением, Andir!
using( RSDN@Home 1.2.0 alpha 4 rev. 987 ) { /* Работаем */ }
Re[3]: Русский язык на американском хостинге (GoDaddy)
От: 0K Ниоткуда  
Дата: 16.07.08 15:37
Оценка:
Здравствуйте, Gollum, Вы писали:

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


Посмотрите как делают русскоязычные лидеры в области Web-технологий: http://ya.ru, http://mail.ru/ ... Тот же Лебедев, в конце концов: http://www.artlebedev.ru/

Все используют кодировку Win-1251. Как я уже говорил, 1 байт лучше, чем 2.

На счет мультиязычных приложеий -- согласен. Здесь лучше utf-8. Та же MS его юзает, т.к. сайт мультиязычный.

0K>>Только что обратил внимание, что в RSDN кодировка utf-8. Но это не лучший вариант?


G>Это — лучший вариант.


А разве rsdn мультиязычен?
Re[3]: Русский язык на американском хостинге (GoDaddy)
От: Sinclair Россия https://github.com/evilguest/
Дата: 17.07.08 06:05
Оценка:
Здравствуйте, Andir, Вы писали:
A>А можно и fileEncoding в globalization указать.
От этого редактор студии станет сохранять файлы в какой-то другой кодировке?
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Русский язык на американском хостинге (GoDaddy)
От: Andir Россия
Дата: 17.07.08 06:41
Оценка: 81 (1)
Здравствуйте, Sinclair, Вы писали:

A>>А можно и fileEncoding в globalization указать.

S>От этого редактор студии станет сохранять файлы в какой-то другой кодировке?

От этого механизм парсинга aspx-страниц будет их загружать в указанной кодировке. И, следовательно, смысла в пересохранении всех страниц под utf-8 — нет.

С Уважением, Andir!
globalization
Re[4]: Русский язык на американском хостинге (GoDaddy)
От: Gollum Россия  
Дата: 17.07.08 06:55
Оценка: 1 (1) +3
Здравствуйте, 0K, Вы писали:

0K>Посмотрите как делают русскоязычные лидеры в области Web-технологий: http://ya.ru, http://mail.ru/ ... Тот же Лебедев, в конце концов: http://www.artlebedev.ru/


А Вы посмотрите на русский гугл, и на его почту.

0K>Все используют кодировку Win-1251. Как я уже говорил, 1 байт лучше, чем 2.


Premature otpimization is root of all evil. Наберите текст который займет 4 экрана веб-браузера. Желательно технический, так как речь идет о RSDN. Подсчитайте разницу. Экономить на десятках килобайт ради отказа от возможностей иметь в сообщении все символы из набора unicode — каждый в общем решает для себя сам.

0K>А разве rsdn мультиязычен?


А почему я должен себя ограничивать? Почему я должен себе отказывать в возможности вставить в мой текст знаки ⅓, Ω, и другие? Только для того чтобы вместо 20 килобайт текста у меня получилось 15? Почему я не смогу написать оригинальное название литературного источника с диакритикой?

Ну, в общем, у меня несколько иные приоритеты, нежели экономия байтов.
Eugene Agafonov on the .NET

Re[5]: Русский язык на американском хостинге (GoDaddy)
От: Idsa Россия  
Дата: 18.07.08 05:16
Оценка:
Здравствуйте, 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)
От: Andir Россия
Дата: 18.07.08 10:42
Оценка: 3 (1)
Здравствуйте, Idsa, Вы писали:

A>>>>А можно и fileEncoding в globalization указать.

S>>>От этого редактор студии станет сохранять файлы в какой-то другой кодировке?

A>>От этого механизм парсинга aspx-страниц будет их загружать в указанной кодировке. И, следовательно, смысла в пересохранении всех страниц под utf-8 — нет.

I>Не понял. А почему смысла в пересохранении нет? Если страница сохранена в 1251, а считываться будет как utf8... то получатся же кракозябры.

Если страница сохранена как win-1251, и это дефолтная кодировка для всех страниц, то имеет смысл выставить fileEncoding в параметре globalization вместо того, чтобы заниматься пересохранением всех страниц в utf-8.

C Уважением, Andir!
using( RSDN@Home 1.2.0 alpha 4 rev. 987 ) { /* Работаем */ }
Re[7]: Русский язык на американском хостинге (GoDaddy)
От: Idsa Россия  
Дата: 19.07.08 19:15
Оценка:
Здравствуйте, Andir, Вы писали:

A>Если страница сохранена как win-1251, и это дефолтная кодировка для всех страниц, то имеет смысл выставить fileEncoding в параметре globalization вместо того, чтобы заниматься пересохранением всех страниц в utf-8.

Спасибо! Теперь понял.
... << RSDN@Home 1.2.0 alpha 4 rev. 1096>>
Re[5]: Русский язык на американском хостинге (GoDaddy)
От: seregaa Ниоткуда http://blogtani.ru
Дата: 22.07.08 07:57
Оценка:
Здравствуйте, Andir, Вы писали:

A>От этого механизм парсинга aspx-страниц будет их загружать в указанной кодировке. И, следовательно, смысла в пересохранении всех страниц под utf-8 — нет.

Я бы пересохранил в utf-8 — это избавит от проблем при редактировании файлов на компе с произвольной локалью (например на удаленном сервере).
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.