vreemde tekens in UTF-8

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mark D

Mark D

10/03/2007 09:48:00
Quote Anchor link
Ik heb een tijdje geleden een topic geopend over het opslaan van woordenlijsten in verschillende talen in een database. Toen dacht ik de oplossing gevonden te hebben, maar de oplossing was toch geen goede. Namelijk de data door base64_encode halen en ze later weer decoden. Het probleem daarvan was dat ook de newlines werden geëncode dus die waren opeens verdwenen.

De vraag is dus niet de oplossing van dat probleem. Want het was ook niet echt een goede manier... Maar is er een andere manier om dit probleem op te lossen?

Alvast bedankt,
Mark
 
PHP hulp

PHP hulp

26/12/2024 15:47:48
 
Mark D

Mark D

11/03/2007 11:18:00
Quote Anchor link
*bump*
 
Nick Mulder

Nick Mulder

11/03/2007 11:23:00
Quote Anchor link
...eerst nl2br() en dan base64?
Ik kan namelijk niets makkelijkers bedenken...
 
Jan Koehoorn

Jan Koehoorn

11/03/2007 11:25:00
Quote Anchor link
PHP beschikt ook over utf8_encode en utf8_decode. Ik heb die functies wel eens gebruikt in combinatie met SimpleXML. De eerlijkheid gebiedt me te zeggen dat ik ook niet tevreden was over het resultaat; er bleven rare tekens in de teksten zitten.
 
Mark D

Mark D

11/03/2007 11:27:00
Quote Anchor link
@YPM, dan heb je de ipv in je tekst letterlijk \r\n gewoon <br /> staan. Dan houd je hetzelfde probleem. Alleen met een andere tekst....

@Jan, welke problemen bleven er dan nog? Ik heb utf8_encode al geprobeerd, maar decode niet, is misschien wel handig.....

Zijn er misschien nog andere oplossingen?

Edit:
utf8_encode en decode werkt niet zoals zou moeten helaas..... Wat ik na het decoden krijg zijn allemaal van die hoofdletters A met wat kringeltjes en dakjes erop enzo.
Gewijzigd op 01/01/1970 01:00:00 door Mark D
 
Mark D

Mark D

17/03/2007 15:11:00
Quote Anchor link
*bump*
 
Nick Mulder

Nick Mulder

17/03/2007 15:14:00
Quote Anchor link
Wat ik zeg zou moeten werken... maar de newlines zoals je ze uit een tekstveld krijgt zijn geen \n\r maar gewoon een nieuwe regel...
 
Mark D

Mark D

17/03/2007 15:25:00
Quote Anchor link
@YPM, ze zouden moeten worden gepakt als enters, maar er staat in het textvak waar ze instaan gewoon letterlijk "\n\r" en niet in de vorm van een enter, de code lijkt wel goed maar ze zijn blijkbaar geen enters, als je dus van die \n\r een
<br /> maar dan hou je het probleem alleen dan in een andere vorm.
 
Thijs X

Thijs X

17/03/2007 15:38:00
Quote Anchor link
Wat je zou kunnen proberen omdat eerst \n te replace met iets anders bijv %% oid. Daarna codeer je het.
Bij het decoderen replace je %% weer terug naar \n. Wel omslachtige manier maar ik denk dat dit het probleem wel zou oplossen
 
Frank -

Frank -

17/03/2007 15:49:00
Quote Anchor link
Vraagje: Heb je zowel de browser (header boven je formulier) als de database ingesteld op utf8?

Daarnaast ondersteunt PHP utf8 niet helemaal lekker.

We hebben hier op kantoor een prima werkent systeem met utf8 ontwikkeld, maar ik heb eigenlijk geen idee hoe ze dat hebben gedaan. Ik zal eens even kijken of ik wat kan vinden, maar ik beloof niks!

Uiteraard hangt hier wel PostgreSQL als database achter, maar het probleem zal met name in PHP zitten. Zover rijkt mijn kennis nog wel...

Tot zo!

Edit: Mocht ik er aan denken en er tijd voor hebben, dan zal ik maandag nog wel even navragen hoe dit nu is opgelost. Kan het nu even niet vinden...

(moet het onderwerp 'documentatie' ook maar weer eens aankaarten...)
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Mark D

Mark D

18/03/2007 10:10:00
Quote Anchor link
@thijs, heb het getest, werkt hetzelfde als eerst, hij replaced ze niet als echte enters, en als een gebruiker %% in de woordenlijst heeft staan krijg je ook problemen aangezien de woordenlijst in een programma wordt herkend op de enters.

@Frank, browser heb ik op UTF-8. Mijn database is geen PostgreSQL, maar MySQL InnoDB.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.