Avatar billede beef12 Nybegynder
29. marts 2004 - 00:57 Der er 13 kommentarer og
1 løsning

konvertere æ, ø å til ISO 8859-1fra html-form

Hej Eksperter,

Jeg har en html-form hvor brugeren kan taste navn osv ind i. Det er dog nødvendigt for mit pågældende system at alle specialtegn, såsom å, æ og ø, bliver konverteret til ISO 8859-1.

F.eks. skal ø laves om til ø osv. Jeg vil ikke en javascript funktion der kommer frem med en fejlmeddelelse, men at konvertering sker helt automatisk.

Eksempel:

Bøf -> Bøf

Kan dette lade sig gøre??
Avatar billede sukos Juniormester
29. marts 2004 - 01:02 #1
Avatar billede sukos Juniormester
29. marts 2004 - 01:03 #2
hov, er vist ikke lige hvad du søger?

bøf er bøf
Avatar billede sukos Juniormester
29. marts 2004 - 01:04 #3
Eller, :

"Presently, the ISO-8859-1 character set is used as the default."
Avatar billede steen_hansen Forsker
29. marts 2004 - 01:05 #4
Følger lige med, for jeg har det omvendte problem: Jeg får Bøf i link og title, kan ikke få Bøf
Avatar billede coderdk Praktikant
29. marts 2004 - 01:09 #5
Og du kan ikke bruge f.eks. htmlentities('bøf',ENT_QUOTES,'ISO-8859-1'); ?
Avatar billede coderdk Praktikant
29. marts 2004 - 01:09 #6
Ja, ok, skulle nok have reloaded for at se om nogle havde svaret ;P
Avatar billede coderdk Praktikant
29. marts 2004 - 01:15 #7
I en comment på php.net stod der:

function encode_everything($string){
  $encoded = "";
  for ($n=0;$n<strlen($string);$n++){
      $check = htmlentities($string[$n],ENT_QUOTES);
      $string[$n] == $check ? $encoded .= "&#".ord($string[$n]).";" : $encoded .= $check;
  }
  return $encoded;
}

Vist lige hvad du ville have ;)
Avatar billede beef12 Nybegynder
29. marts 2004 - 11:24 #8
tak for de gode svar.

Men...
echo htmlentities("Bøf"); og htmlentities('bøf',ENT_QUOTES,'ISO-8859-1');

returnerer "Bøf".

Sukos, når jeg så prøver at skrive echo $encoded; siger den undefined variable. Det undrer mig lidt. Ved du hvorfor?
Avatar billede beef12 Nybegynder
29. marts 2004 - 11:25 #9
hov, ikke sukos, men coderdk var det sidste spm rettet til :-)
Avatar billede beef12 Nybegynder
29. marts 2004 - 11:58 #10
function encode_everything($string){
  $encoded = "";
  for ($n=0;$n<strlen($string);$n++){
      $check = htmlentities($string[$n],ENT_QUOTES,'ISO-8859-1');
      $string[$n] == $check ? $encoded .= "&#".ord($string[$n]).";" : $encoded .= $check;
  }
  return $encoded;
}

echo encode_everything('bøf');


Dette spytter bare bøf ud :-(
Avatar billede beef12 Nybegynder
29. marts 2004 - 12:08 #11
For helvede, jeg er en idiot !!!!

Browseren oversætter da naturligvis de tegn til noget der er læseligt. Når jeg højreklikker i browseren og ser på kilden, så viser det sig at funktionen virkede.

coderdk - du løber med pointene :-)
Tak...
Avatar billede steen_hansen Forsker
29. marts 2004 - 12:43 #12
Nu er det her PHP. Men jeg har et lignende spørgsmål i ASP, bare med modsat fortegn. Håber, at der er nogen, der er skrappe nok. Og jeg håber ikke, at det gør noget, at jeg henleder opmærksomheden på mit problem, beef12? :o)

Skulle I have mod på det, må I meget gerne kigge på http://www.eksperten.dk/spm/465719 - og jeg sætter gerne point op. Men, som sagt, så er det i ASP.
Avatar billede beef12 Nybegynder
29. marts 2004 - 16:48 #13
Pis... det virkede sq ik alligvel.

bøf bliver til &#98;&oslash;&#102;

&oslash skal blive til &#248;

Mystisk....
Avatar billede beef12 Nybegynder
29. marts 2004 - 16:52 #14
Nå, nu skal jeg nok snart holde op med at skrive :-p

Fik det til at virke nu. Man skal bruge htmlspecialchars i stedet for htmlentities.

Slut prut :-)
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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