Pagina 1 van 2
Karakterfouten
Geplaatst: 26 mar 2009, 16:45
door zippertje
- Adres van je forum: http://www.tdmf.nl
Event. modificaties op je forum: niet belangrijk
Wanneer ontstond het probleem? Na het overstappen
phpBB versie: 3.0.1
Heb je onlangs iets veranderd aan je forum? Overgestapt naar andere hosting
Wat is het probleem?
Het probleem is het weergeven van karakter als é è ë ü enzovoort, dat gebeurd niet goed meer, weet niet wat er precies fout is, ik weet wel dat ik het graag opgelost zou zien.
Hier is een voorbeeld van wat ik bedoel:
http://www.werenew.nl/tdmf/viewtopic.ph ... 029#p24029
Re: Karakterfouten
Geplaatst: 26 mar 2009, 17:49
door Pascal
Updaten zou handig zijn
Verder kun je proberen om de taalbestanden uit een phpbb.nl download te kunnen overschrijven met de huidige. Maak wel eerst een backup!
Re: Karakterfouten
Geplaatst: 26 mar 2009, 18:42
door Fridge
Pascal schreef:Updaten zou handig zijn

Waarom?
Pascal schreef:Verder kun je proberen om de taalbestanden uit een phpbb.nl download te kunnen overschrijven met de huidige. Maak wel eerst een backup!
Dit ligt niet aan de taalbestanden, wordt (waarschijnlijk) veroorzaakt door een verkeerde backup van de database die is terug gezet.
Re: Karakterfouten
Geplaatst: 26 mar 2009, 19:13
door Paul
Fridge schreef:Pascal schreef:Updaten zou handig zijn

Waarom?
Omdat officieel alleen 3.0.04 ondersteund wordt, en een nieuwe versie niet voor niets uitkomt

Re: Karakterfouten
Geplaatst: 26 mar 2009, 19:33
door Pascal
Fridge schreef:Pascal schreef:Updaten zou handig zijn

Waarom?
Pascal schreef:Verder kun je proberen om de taalbestanden uit een phpbb.nl download te kunnen overschrijven met de huidige. Maak wel eerst een backup!
Dit ligt niet aan de taalbestanden, wordt (waarschijnlijk) veroorzaakt door een verkeerde backup van de database die is terug gezet.
Bedankt, ik zat even fout te denken.

Re: Karakterfouten
Geplaatst: 26 mar 2009, 19:42
door Fridge
paul schreef:Omdat officieel alleen 3.0.04 ondersteund wordt, en een nieuwe versie niet voor niets uitkomt

Ik verdenk jou ervan dat je verstand van zaken hebt en over het algemeen weet waarover je praat

, ik zie echter een boel peepz ten pas en ten onpas roepen dat er moet worden geupdate en alleen maar omdat (heb ik het idee) dat anderen het ook roepen.
Kan ook zijn dat ik het helemaal fout heb hoor maar als iemand dan roept "updaten!!!!", onderbouw er dan even bij waarom dit verstandig is om te doen.
Maar goed is OT en verder geen discussie voor hier en nu

Re: Karakterfouten
Geplaatst: 26 mar 2009, 20:13
door Jim
Updaten is altijd nodig, zoals paul al zei. Of het nu gerelateerd is aan het probleem of niet.
Re: Karakterfouten
Geplaatst: 27 mar 2009, 10:44
door EelkeB
Updaten zorgt ervoor dat we het allemaal over (precies) dezelfde software hebben. Hoe onwaarschijnlijk het ook lijkt dat iets samenhangt met een bug die is opgelost in een nieuwere versie, het kan altijd. Daarnaast kunnen oplossingen subtiel verschillen tussen versies.
Het probleem is inderdaad een encoding probleem met de database, mogelijk geïntroduceerd bij het inlezen van de database dump van de vorige host op de nieuwe. De karakters die je ziet, bijvoorbeeld ë, is een typisch kenmerk van UTF-8 gecodeerde speciale karakters (die in UTF-8 als twee bytes worden gecodeerd) die worden weergegeven in een encoding die karakters alleen als een enkele byte coderen, zoals ISO-8859-1. De twee afzonderlijke bytes voor het UTF-8 karakter worden daarom weergegeven als het karakter dat ze "toevallig" in die andere encoding aanduiden. Ga je bijvoorbeeld kijken naar de byte-waardes van ë in ISO-8859-1, dan zie je dat dat (hexadecimaal) C3 en AB zijn. Laat C3 AB nou net de twee bytes zijn die UTF-8 gebruikt om ë te coderen
Vaak zie je het als de PHP-code van de site UTF-8 genereerd, maar de browser de pagina (door een probleem met HTTP headers, bijvoorbeeld) weergeeft alsof het ISO-8859-1 is. (Omgekeerd kan ook, dan genereert de site ISO-codering, terwijl de browser denkt dat het UTF-8 is; het gevolg zijn van die vraagtekentjes in de plaats van speciale karakters).
Het "vervelende" is nu alleen dat jouw site wel aangeeft dat hij UTF-8 is (in je browser na te kijken, in Firefox bijvoorbeeld View > Character Encoding - dat is goed, phpBB3 zou niet anders moeten doen). Dit betekent naar alle waarschijnlijkheid dat er ergens onterecht een encoding-conversie heeft plaatsgevonden, en de meest waarschijnlijke kandidaat daarvoor is bij het inlezen van de database-dump, waarbij je moet meegeven in welke encoding de database dump is; je hebt de dump waarschijnlijk in UTF-8 gemaakt (bijvoorbeeld de standaard van phpMyAdmin als je een export doet), maar bij het inlezen van de dump is de database er vanuit gegaan dat het ISO was, en heeft daarom de karakters nog een keer "geconverteerd" naar UTF-8.
Wat even belangrijk is om te weten, is of dit probleem alleen speelt bij oude posts die van voor de verhuizing stammen, of dat het ook mis gaat voor nieuwe posts.
Hoe kom je hier vanaf? Dit zijn altijd lastige problemen, ik heb laatst met een soortgelijk probleem opgelost door te goochelen met Notepad++ en de encoding-conversie die daarin zit. Het is daarbij wel belangrijk dat je begrijpt wat je doet en het is heel makkelijk om de draad kwijt te raken. Als mijn vermoeden juist is, heb je bovendien het probleem dat je nu al nieuwe berichten in de database hebt zitten die wel goed gecodeerd in de database zitten.
Re: Karakterfouten
Geplaatst: 27 mar 2009, 13:25
door zippertje
Ik heb het even uitgetest en het zijn inderdaad alle oude berichten, de nieuwe doen het wel goed.
Re: Karakterfouten
Geplaatst: 27 mar 2009, 13:42
door Paul
Fridge schreef:paul schreef:Omdat officieel alleen 3.0.04 ondersteund wordt, en een nieuwe versie niet voor niets uitkomt

Ik verdenk jou ervan dat je verstand van zaken hebt en over het algemeen weet waarover je praat

, ik zie echter een boel peepz ten pas en ten onpas roepen dat er moet worden geupdate en alleen maar omdat (heb ik het idee) dat anderen het ook roepen.
Kan ook zijn dat ik het helemaal fout heb hoor maar als iemand dan roept "updaten!!!!", onderbouw er dan even bij waarom dit verstandig is om te doen.
Uhm, het lijkt me vrij duidelijk. Het heeft een zeer goede reden dat een nieuwe release uitkomt. Niet alleen om (irritante soms) bugs op te lossen, maar ook om veiligheids fouten op te lossen. Waarom denk je dat er zoveel phpBB2 fora gehacked werden emt 2.0.11 (Die toen de santy worm uitkwam al 3 maanden gereleased was!) zo groot uitpakten? Juiist, omdat mensen niet updaten.
Gebruik gewoon
altijd de laatste release van de software die je gebruikt. Dit voorkomt security problemen.
Re: Karakterfouten
Geplaatst: 27 mar 2009, 13:50
door EelkeB
Amen
@zippertje: Dat is aan 1 kant mooi, want dat betekent dat je installatie op zich OK is. Aan de andere kant maakt het het lastig, want stel dat je een dump van je huidige database maakt, die zo bewerkt dat hij de "goede" encoding heeft en hem weer upload, dan is dat dus niet de "goede" encoding voor die nieuwe posts, en heb je daar weer een probleem mee (mogelijk is dat een minder probleem, afhankelijk van hoeveel er gepost is sinds de verhuizing).
Andere optie zou zijn om de dump te nemen die je eerder hebt gebruikt bij de migratie en die in de juist encoding te krijgen en die opnieuw uploaden, maar dan ben je dus alles kwijt wat sinds de verhuizing geplaatst is. Maar heb je daar ook dan ook geen probleem mee (wat heb je liever, dat die nieuwe posts helemaal verloren gaan, of dat speciale karakters in die nieuwe posts verkeerd worden weergegeven).
BTW, het verhaal dat er problemen met nieuwe posts ontstaan heeft dus alleen betrekking op posts die gemaakt zijn tussen het moment dat het probleem is ontstaan en het moment dat het probleem is opgelost. Is je probleem eenmaal opgelost, dan gaat het posten van nieuwe posts gewoon goed, net als dat het nu goed gaat.
Het mooiste zou zijn als er een scriptje was dat gericht naar die "UTF-8 artefacten" op zoek gaat en die specifiek corrigeert. Ik zou echter niet weten of dat bestaat. De deelse compatibiliteit van UTF-8 met oudere encodings is een "mixed blessing"; problemen vallen niet meteen op. Dat kan een voordeel zijn, maar, zoals in dit geval, ook een nadeel, want je komt er vaak te laat achter dat er een probleem is (Nederlands is daarbij een vervelende taal, omdat speciale karakters maar zo nu en dan worden gebruikt; bij het Engels is dit nauwelijks een issue, terwijl het bij veel andere talen veel eerder opvalt omdat daarin veel meer speciale tekens worden gebruikt).
Sorry dat ik geen kant-en-klare oplossing kan bieden, het is een beetje wikken en wegen en kiezen waar je je verliezen wil "incasseren"...
Re: Karakterfouten
Geplaatst: 27 mar 2009, 14:06
door zippertje
Nou, de nieuwe posts zijn goed, dus daar zit het probleem niet, maar als ik iets in een oude post wil veranderen, dan blijven het die irritante tekens. Alleen bij posts na de verhuizing werkt het goed. Ik denk dat ik het forum binnenkort ga updaten en dan geloof ik het wel, het stoort me nou ook weer niet zo erg.
Re: Karakterfouten
Geplaatst: 27 mar 2009, 15:23
door EelkeB
Als je de karakters handmatig aanpast, worden het dan toch weer de verkeerde karakters??
Edit: Formulering iets aangepast om verwarring te voorkomen
Re: Karakterfouten
Geplaatst: 27 mar 2009, 15:49
door Derky
Als je ze handmatig aanpast worden ze normaal gesproken wel goed in de database opgeslagen.
Re: Karakterfouten
Geplaatst: 27 mar 2009, 15:52
door EelkeB
Dat lijkt mij ook, maar uit bovenstaand leid ik af dat dat niet zo zou zijn, bij zippertje. Als dat inderdaad zo is, dan kan ik me er geen voorstelling bij maken wat er mis is.
Re: Karakterfouten
Geplaatst: 27 mar 2009, 16:31
door zippertje
Als ik ze via de database ga veranderen worden het ook die rare karakters, dat is juist het vage er aan.
Re: Karakterfouten
Geplaatst: 27 mar 2009, 16:42
door Derky
Nee je moet ze dan via "bewerk bericht" veranderen.

Re: Karakterfouten
Geplaatst: 27 mar 2009, 17:11
door EelkeB
Als je het in phpMyAdmin of iets dergelijks veranderd, dan kan het inderdaad zijn dat het alsnog mis gaat, als de collatie van de database verkeerd staat ingesteld. Maar dan zul je in phpMyAdmin de karakters ook wel goed zien staan.
Re: Karakterfouten
Geplaatst: 27 mar 2009, 17:25
door marian0810
Ik heb hetzelfde probleem gehad in phpBB2 toen wij naar een andere server moesten verhuizen. Maar toen heb ik vrij simpel via phpMyAdmin de meest-voorkomende zoals ë en ï en nog een paar in berichten kunnen vervangen met een SQL query. Weet alleen zo snel even niet meer welke.
Edit: deze zou hetzelfde voor phpBB3 moeten doen denk ik.
http://www.phpbb.de/community/viewtopic ... 5&t=162049
Re: Karakterfouten
Geplaatst: 27 mar 2009, 19:25
door zippertje
Derky schreef:Nee je moet ze dan via "bewerk bericht" veranderen.

Ja, dat snap ik, dat werkt dus niet.. via database ook niet, maar nieuwe berichten wel.