2011-01-21 3 views
0

У меня есть проект, который использует ASPX и C#. Все страницы поддерживают локализацию через переопределенный метод InitializeCulture. Все работает очень хорошо, за исключением одной страницы. На этой странице есть UserControl, который используется для поиска. Я заметил что-то странное с этой страницей. Если я выполняю поиск, все французские символы отображаются неправильно. Однако, если я изменю язык на английский, а затем вернусь на французский, они появятся, как должны. Текст поступает из глобального файла resx. Первый дисплей:ASPX-страница с пользовательским элементом управления, не работающим с локализацией

Nous avons également effectué

После изменения языка, а затем обратно:

Nous avons également effectué

Любые идеи, почему это происходит? Это влияет и на всю страницу, даже на части, которые работают на всех других страницах. Файл web.config имеет кодировку по умолчанию устанавливается в UTF-8:

<globalization requestEncoding="utf-8" responseEncoding="utf-8" />

ответ

0

я нашел несколько ссылок на проблемы с французским символов в UTF-8 в, по-видимому, не связанных приложений:

Может быть, попробовать UTF-16?

+0

Это не объясняет, почему оно работает после обновления страницы. – Nick

+0

Да, я понятия не имею. Но похоже, что существует проблема с фактическим набором символов ... что-то об обновлении очищает буфер или увеличивает счетчик мимо магического значения, кто знает? Я бы даже не попытался понять это, просто попробуй еще один набор символов. –

1

Если вы видите два несвязанных символа вместо одного символа с диакритикой, вы не сказали клиенту, что ему нужно знать, чтобы рассматривать страницу как UTF-8, например.

Response.CodePage = 65001 ; 
Response.CharSet = "utf-8" ; 

Это отрывок из related topic.

+0

Сообщение, которое вы цитируете, также имеет ту же самую строку из файла web.config, что я показал выше как альтернативное решение. – Nick

+0

А как насчет кодовой страницы? Например, кодировка символов UTF-8 имеет номера кодовых страниц 1208 в IBM, 65001 в Microsoft, 4110 в SAP – apros

+0

Установка кодировки не требуется, когда кодировки запроса и ответа задаются в файле web.config. Для полноты я добавил атрибут codepage к определению страницы, и он все еще не работает. – Nick

Смежные вопросы