Посл.ответ |
Сообщение |
 Ранг: 213.0 (наставник), 4thx Активность: 0.22↘0 Статус: Участник Тот ещё Lamer
|
Создано: 23 июля 2008 07:45 · Личное сообщение · #1
Ну, дело такое: делаю сайтик небольшой на сабже (на C#). В принципе, всё хорошо, удобно, красиво (за основу брал шаблон Club). То, что я прописываю непосредственно в коде страниц отображается отлично, а вот добавляемые новости выглядят "????????? ???????????" =((( После нажатия кнопки редактирования новости там то же самое, т.е. кирилица не воспринимается ещё на уровне записи в бд. Рылся в MSDN, но ничего вразумительного по проблеме не нашёл. Гугл тоже не помог.
Что нужно подправить в проекте, чтобы кирилица нормально отбражалась?
----- Do Not Get Mad Get Money! ;) | Сообщение посчитали полезным: |
|
Ранг: 145.8 (ветеран) Активность: 0.07↘0 Статус: Участник www.int3.net
|
Создано: 23 июля 2008 16:21 · Личное сообщение · #2
CultureInfo problem?
Encoding class usage problem?
код в студию.
| Сообщение посчитали полезным: |
 Ранг: 213.0 (наставник), 4thx Активность: 0.22↘0 Статус: Участник Тот ещё Lamer
|
Создано: 24 июля 2008 07:53 · Личное сообщение · #3
эм... код чего, простите? всего сайта?
Encoding class usage - можно подробнее?
----- Do Not Get Mad Get Money! ;) | Сообщение посчитали полезным: |
 Ранг: 213.0 (наставник), 4thx Активность: 0.22↘0 Статус: Участник Тот ещё Lamer
|
Создано: 24 июля 2008 09:43 · Личное сообщение · #4
так... порывшиь в инете и msdn откопалось "решение" - необходимо в файле web.config прописать:
<globalization
fileEncoding="windows-1251"
requestEncoding="windows-1251"
responseEncoding="windows-1251"
culture="ru-RU"
uiCulture="ru-RU"
/>
только это всё равно не решает проблему... =(((
----- Do Not Get Mad Get Money! ;) | Сообщение посчитали полезным: |
 Ранг: 218.9 (наставник), 42thx Активность: 0.16↘0 Статус: Участник dotnet
|
Создано: 25 июля 2008 13:09 · Личное сообщение · #5
Дык в штмл нудо еще кодпейдж ставить познакомься с тегом Meta
----- have a nice day | Сообщение посчитали полезным: |
 Ранг: 213.0 (наставник), 4thx Активность: 0.22↘0 Статус: Участник Тот ещё Lamer
|
Создано: 26 июля 2008 03:18 · Личное сообщение · #6
какой html? там aspx... везде, где можно кодировку установил windows-1251... с тэгами знаком =)
в том-то и вся проблема... =( ничего не понимаю...
----- Do Not Get Mad Get Money! ;) | Сообщение посчитали полезным: |
Ранг: 145.8 (ветеран) Активность: 0.07↘0 Статус: Участник www.int3.net
|
Создано: 28 июля 2008 18:46 · Личное сообщение · #7
collation тоже cyrillic win1251?
давай код уже, а то нифига не разберешь, что ты там вообще делаешь.
| Сообщение посчитали полезным: |
 Ранг: 213.0 (наставник), 4thx Активность: 0.22↘0 Статус: Участник Тот ещё Lamer
|
Создано: 01 августа 2008 04:32 · Поправил: Talula · Личное сообщение · #8
Ну, хорошо... Вот файл web.config:
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<location path="events_edit.aspx">
<system.web>
<authorization>
<allow roles="Administrators"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="locations_edit.aspx">
<system.web>
<authorization>
<allow roles="Administrators"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="news_edit.aspx">
<system.web>
<authorization>
<allow roles="Administrators"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="photoalbum_new.aspx">
<system.web>
<authorization>
<allow roles="Administrators"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="member_list.aspx">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
<location path="member_details.aspx">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
<connectionStrings>
<add name="ClubSiteDB" connectionString="Data Source=.\SQLExpress;Integrated Security=true;AttachDBFileName=|DataDirectory|Club.mdf;User Instance=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<roleManager enabled="true"/>
<authentication mode="Forms"/>
<compilation debug="false">
<assemblies>
<add assembly="System.Xml, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Messaging, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
</assemblies>
</compilation>
<membership defaultProvider="AspNetSqlMembershipProvider"/>
<siteMap defaultProvider="AspNetXmlSiteMapProvider" enabled="true">
<providers>
<remove name="AspNetXmlSiteMapProvider"/>
<add name="AspNetXmlSiteMapProvider" description="SiteMap provider which reads in .sitemap XML files." type="System.Web.XmlSiteMapProvider" securityTrimmingEnabled="true" siteMapFile="Web.sitemap"/>
</providers>
</siteMap>
<customErrors mode="RemoteOnly" defaultRedirect="ErrorPage.htm"/>
<globalization requestEncoding="utf-8" responseEncoding="utf-8"/> -------- ВОТ ТУТ НАДО МЕНЯТЬ (указывал выше на что), НО ТОЛКУ - НОЛЬ! =(
</system.web>
</configuration>
Ну, как вы понимаете, везде где можно, кодировка уже выставлена windows-1251
----- Do Not Get Mad Get Money! ;) | Сообщение посчитали полезным: |
Ранг: 145.8 (ветеран) Активность: 0.07↘0 Статус: Участник www.int3.net
|
Создано: 01 августа 2008 14:13 · Личное сообщение · #9
Извини, чувак, но с твоей потрясающей способностью понимать людей и тотальным нежеланием понять, что от тебя действительно хотят, тебе проще всего разобраться самому :D
А так готов поспорить, что у тебя стоит уебищный коллейшен в бд.
| Сообщение посчитали полезным: |
 Ранг: 213.0 (наставник), 4thx Активность: 0.22↘0 Статус: Участник Тот ещё Lamer
|
Создано: 01 августа 2008 16:54 · Личное сообщение · #10
извините, но речь шла про этот файл... его и выкинул...
NG пишет:
у тебя стоит уебищный коллейшен в бд.
а какой тогда пиздатый?
----- Do Not Get Mad Get Money! ;) | Сообщение посчитали полезным: |
Ранг: 2.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 01 августа 2008 18:56 · Поправил: oberonSOV · Личное сообщение · #11
> а какой тогда пиздатый?
Нейтивный для системы, а если лень читать MSDN - то единственный правильный...
| Сообщение посчитали полезным: |
 Ранг: 213.0 (наставник), 4thx Активность: 0.22↘0 Статус: Участник Тот ещё Lamer
|
Создано: 01 августа 2008 19:03 · Поправил: Talula · Личное сообщение · #12
oberonSOV пишет:
Нейтивный для системы
он там по умолчанию стоит и поменять его вообще нельзя (может ограничение фриварного издания?)
ну, спасибо и на этом... можно подумать, до этого не читал... короче, просто сказать что и где поправить никто не может, да? окей...
----- Do Not Get Mad Get Money! ;) | Сообщение посчитали полезным: |
Ранг: 4.8 (гость) Активность: 0=0 Статус: Участник
|
Создано: 02 августа 2008 01:04 · Личное сообщение · #13
Вообще, в ASP.NET все кодировки по дефолту нормальные стоят, это с БД наверняка проблема.
Что ты за СУБД юзаешь? из неё уже идет текст, который наверняка покацан - типа codepage строковых данных неверный стоит. В debuge, потрейси код, и посмотри, что из БД получаешь.
| Сообщение посчитали полезным: |
Ранг: 2.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 02 августа 2008 12:47 · Личное сообщение · #14
Пробуй вариант <globalization requestEncoding="UTF-8" responseEncoding="UTF-8" culture="ru-RU" /> а дальше дело творческое чтоб конвертации были исключительно unicode<->win1251 и никакой другой фигни, иначе надо явно указывать culture при конвертации. А вообще есть профильные форумы типа sql.ru ...
| Сообщение посчитали полезным: |
Ранг: 145.8 (ветеран) Активность: 0.07↘0 Статус: Участник www.int3.net
|
Создано: 04 августа 2008 19:04 · Личное сообщение · #15
Talula пишет:
а какой тогда пиздатый?
лично я предпочитаю работать с Latin1_General_CI_AS, но тебе точно не подойдет
вообще попробуй поиграться с добавлением "COLLATE DATABASE_DEFAULT" в запрос, иногда помогает.
но лучше в случае работы с определенным языком, лучше явно указывать коллейшн(в твоем случае - Cyrillic_General_CI_AS) и выставлять приложению соответствующие настройки CurrentCulture.
| Сообщение посчитали полезным: |
 Ранг: 213.0 (наставник), 4thx Активность: 0.22↘0 Статус: Участник Тот ещё Lamer
|
Создано: 02 сентября 2008 07:29 · Личное сообщение · #16
в общем дело такое...
запустили тестовый вариант на хосте. подрубили хостерские бд, восттановили наши бэкапы туда, сайт работает, но с кириллицей всё те же проблемы.
все вокруг говорят "надо сменить collation". но никто не говорит КАК! =(
простите великодушно, но я в этом деле не бум-бум...
1. есть SQL Manager - кто-нибудь может сказать, какой скрипт надо прописать и отправить?
2. есть вариант добавить запрос в строку подключения в файле web.config.
"set character_set_client='cp1251'; set character_set_results='cp1251'; set collation_connection='cp1251_general_ci';" - но как это переделать в sql-запрос?
понимаю, что не совсем по тематике сайта, но на профильных форумах я лично ничего найти не смог...
----- Do Not Get Mad Get Money! ;) | Сообщение посчитали полезным: |
 Ранг: 218.9 (наставник), 42thx Активность: 0.16↘0 Статус: Участник dotnet
|
Создано: 02 сентября 2008 14:36 · Поправил: Nimnul · Личное сообщение · #17
Talula
Вобщем там где ты непосредственно даные из бд вытаскиваешь вставь это
string str; - это твая проблемная строка
byte[] b = System.Text.UTF8Encoding.Default.GetBytes(str);
и покажи здесь первые 30 байт.
>>какой html? там aspx...
<meta http-equiv="Content-Language" content="ru">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<%@ Page Language="C#"
AutoEventWireup="true"
CodeFile="DiseaseTypeAdministration.aspx.cs"
Inherits="Screens_Common_Administration_DiseaseAdministration" %>
Как видишь одно другому не мешает, также советую посещать регулярно www.htmlbook.ru
----- have a nice day | Сообщение посчитали полезным: |
 Ранг: 213.0 (наставник), 4thx Активность: 0.22↘0 Статус: Участник Тот ещё Lamer
|
Создано: 02 сентября 2008 14:48 · Личное сообщение · #18
Nimnul, спасибо! =) буду иметь ввиду на будущее!
проблему с бд разрешили (правда другим способом)... тему закрываю... спасибо всем...
----- Do Not Get Mad Get Money! ;) | Сообщение посчитали полезным: |