Avatar billede andersjo Nybegynder
15. november 2006 - 14:37 Der er 6 kommentarer

unicode i php

Hei.

Jeg har en publiseringsløsning som bygger på Zope og python. Tekst som skrives inn lagres i objekter i Zope-databasen.

Jeg har oppdaget et tilfelle hvor jeg har kopiert inn tekst fra et annet sted som innheholder tegnet -. Men tegnet er av typen %u2013, som jeg tror er unicode. Tegnet blir vist som - alle steder hvor zope/python brukes.

Men jeg har også en php nyhetsbrev-modul. Den henter tekst fra Zope-databasen og lager nyhetsbrev. Overalt hvor php skriver ut tegnet - blir %u2013 vist i stedet.

Er det noen grunn til at php ikke klarer å vise tegnet -, og er det noen måte å løse dette på?

//andersjo
Avatar billede olebole Juniormester
15. november 2006 - 14:41 #1
Avatar billede coderdk Praktikant
15. november 2006 - 14:46 #2
Prøv at køre teksten igennem:

$text = preg_replace( "/%u(\d+)/", "&#\\1;", $text );
Avatar billede coderdk Praktikant
15. november 2006 - 14:47 #3
olebole, jeg tror han får tegnet som %u2013...
Avatar billede coderdk Praktikant
15. november 2006 - 14:48 #4
Muligvis:

$text = preg_replace( "/%u(\d+)/", "&#x\\1;", $text );
Avatar billede coderdk Praktikant
15. november 2006 - 14:49 #5
Jeg tror det er et hexadecimalt tal, så det skal nok være:

$text = preg_replace( "/%u([a-f0-9)/i", "&#x\\1;", $text );
Avatar billede coderdk Praktikant
15. november 2006 - 14:51 #6
Ja, så ser jeg i kommentarerne her: http://dk.php.net/url_decode - der er nogen der har lavet funktioner til det :)
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