Avatar billede milandt Nybegynder
03. november 2008 - 16:17 Der er 14 kommentarer og
1 løsning

html encode string

Hvordan får jeg lettest en streng som "Gå-hjem-møde" konverteret til "Gå-hjem-møde"
Avatar billede kalp Novice
03. november 2008 - 16:21 #1
Server.UrlEncode(string)
Avatar billede kalp Novice
03. november 2008 - 16:21 #2
eller måske
Server.HtmlEncode(string)
Avatar billede arne_v Ekspert
03. november 2008 - 16:21 #3
Skriver en metode som loeber input igennem og erstatter alle tegn > 127 med & # tal
(simpel for loekke og en StringBuilder).

Eller bedre - for styr paa charset paa sin side saa de danske bogstaver virker uden
HTML encoding.
Avatar billede arne_v Ekspert
03. november 2008 - 16:22 #4
Den indbyggede HtmlEncode encoder ifoelge dokumentationen kun < > &.

Det er dem som skal encodes.
Avatar billede milandt Nybegynder
03. november 2008 - 17:11 #5
Det er en form parameter der sendes til ePay's betalingsmodul.
Avatar billede arne_v Ekspert
03. november 2008 - 17:16 #6
Hvis det er en parameter skal den saa ikke URL encodes og ikke HTML encodes ??
Avatar billede milandt Nybegynder
03. november 2008 - 18:15 #7
det bliver sendt som et post request, og har forsøgt blot at url encode det - det forstår ePay ikke. "G&#229;-hjem-m&#248;de" fungerer når jeg indsætter det manuelt.
Avatar billede arne_v Ekspert
03. november 2008 - 18:52 #8
POST requests skal URL encodes - ikke HTTP encodes.

Men - det skal naturligvis URL encodes med det rigtige charset - er du sikker paa
at det var OK ?
Avatar billede milandt Nybegynder
03. november 2008 - 21:43 #9
Jeg indsatte blot "G&#229;-hjem-m&#248;de" i formen i Firefox web developer og submittede formen.
Avatar billede arne_v Ekspert
03. november 2008 - 21:47 #10
Er det:

FF----eBay

eller

FF----din side----eBay

?
Avatar billede milandt Nybegynder
03. november 2008 - 21:57 #11
Formen poster direkte fra brugens browser til ePays side.
Avatar billede arne_v Ekspert
03. november 2008 - 22:14 #12
Så det har ikke noget med C# at gøre ?

Jeg tror at det er et UTF-8 versus ISO-8859-1 problem.
Avatar billede milandt Nybegynder
04. november 2008 - 06:21 #13
Sidens charset er utf8. tror nu alligevel at problemet kan løses med dit oprindelige forslag.
Avatar billede milandt Nybegynder
04. november 2008 - 22:34 #14
Brugte forslaget i din første post arne_v, og det var som jeg også var inde på det der skulle til.

Jeg er nødt til at skrive &amp;# og ikke bare &# da strengen ellers vil blive skrevet ud "normalt" i min webform. Det fungerer i al fald med nedenstående, selvom jeg ikke bryder mig om det.

Læg et svar.

        public static string WebFriendly(string text)
        {
            StringBuilder sb = new StringBuilder();
            foreach (char c in text)
            {
                if (c > 127)
                    sb.Append("&amp;#" + (int)c + ";");
                else
                    sb.Append(c);
            }
            return sb.ToString();
        }
Avatar billede arne_v Ekspert
04. november 2008 - 23:23 #15
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester