Страница ASPX с пользовательским элементом управления не работает с локализацией - PullRequest
0 голосов
/ 21 января 2011

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

Nous avons également effectué

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

Nous avons également effectué

Есть идеи, почему это происходит? Это также влияет на всю страницу, даже части, которые работают должным образом на всех других страницах. В файле web.config кодировка по умолчанию установлена ​​в utf-8:

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

Ответы [ 2 ]

1 голос
/ 22 января 2011

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

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

Это выдержка из связанной темы .

0 голосов
/ 21 января 2011

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

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

...