символ #039
От: bastrakov Россия http://bastrakof.livejournal.com/
Дата: 28.01.11 12:41
Оценка:
привет всем. почти кроспост, прости мод.

надо работать с французским языком. там у них есть одинарные ковычки, фамилии типа д'артаньян.
так вот такие данные лежат в базе. из базы они беруться и попадают на web-морду.
дальше проблемы пошли. если оно попадает в jscript — он сразу разваливается. а если оно попадает в просто html, то нельзя его экранировать.
заменил глобально, перед передачей на клиента, ковычку на &_#039; (убрать подчеркивание) символ.

проблема появилась в url-ах.
System.Web.Mvc.UrlHelper.ActionLink начал корожеть и вместо & подставлять & (на клиента приходит ' ).
тупо вырезал перед передачей на клиента и сейчас на клиенте правильный &_#039; (убрать подчеркивание) символ.

всплыла следующая проблема. при попытке послать на сервак форму, где этот символ, сервер мне сообщает:
A potentially dangerous Request.Form value was detected from the client (TooManyLocalitiesError="...s, merci d&_#039;affiner votre ...").

подскажите, как порешать языковую проблему. не верю, что я тут один с французами мучаюсь.
заранее спасибо. во
Re: символ #039
От: bastrakov Россия http://bastrakof.livejournal.com/
Дата: 28.01.11 12:43
Оценка:
поправил web.config
    <httpRuntime requestValidationMode="2.0"/>
    <pages validateRequest="false">

проблема осталась там же, где и была.
mssql + c# + mvc2.

заранее спасибо. во
Re: символ #039
От: vmpire Россия  
Дата: 28.01.11 13:27
Оценка:
Здравствуйте, bastrakov, Вы писали:

B>привет всем. почти кроспост, прости мод.


B>надо работать с французским языком. там у них есть одинарные ковычки, фамилии типа д'артаньян.

B>так вот такие данные лежат в базе. из базы они беруться и попадают на web-морду.
B>дальше проблемы пошли. если оно попадает в jscript — он сразу разваливается. а если оно попадает в просто html, то нельзя его экранировать.
B>заменил глобально, перед передачей на клиента, ковычку на &_#039; (убрать подчеркивание) символ.

B>проблема появилась в url-ах.

B>System.Web.Mvc.UrlHelper.ActionLink начал корожеть и вместо & подставлять &amp; (на клиента приходит &amp;#039; ).
B>тупо вырезал перед передачей на клиента и сейчас на клиенте правильный &_#039; (убрать подчеркивание) символ.

B>всплыла следующая проблема. при попытке послать на сервак форму, где этот символ, сервер мне сообщает:

B>A potentially dangerous Request.Form value was detected from the client (TooManyLocalitiesError="...s, merci d&_#039;affiner votre ...").

B>подскажите, как порешать языковую проблему. не верю, что я тут один с французами мучаюсь.

B>заранее спасибо. во
Это не с французским проблемы, а с приложением. Нужно правильно формировать строковые литералы в JavaScript и HTML.
В JavaScript при формировании заменять ' на \' а в HTML он и так нориально должен попасть.
В URL не забывать делать UrlEncode
Re: символ #039
От: bastrakov Россия http://bastrakof.livejournal.com/
Дата: 31.01.11 06:02
Оценка:
Здравствуйте, bastrakov, Вы писали:

http://tunes.org/wiki/html_20special_20characters_20and_20symbols.html
проблема была решена глобальной заменой спецсимволом &_prime;
во
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.