Nämen ser man på, Bredde, den stora Administratören har vaknat! JustOnTime när det småknepiga konverteringsjobbet blev klart.
Kan du vänligen tacka den som kom på felet, Nisse!
Såhär är det:
Jag körde ju över vårt gamla forum i ny serversofta för några veckor sedan. I samband med överföringen uppstod teckenproblem med åäö. Ibland visades bara tomma rutor, ibland "?-tecken-tecken" för våra skander.
Vi kan fortfarande ha åäö-problem nånstans på våra forum-sidor. Bl.a. hade registreringssidan ett sådant fel. Men Bredde fixade sidan i går kväll. Så nu kan man registrera sig igen.
Därför gick det snett:
När vårt "nya" forum för ca. 8 år sedan såg dagens ljus var det ANSI tecken som gällde för PHP/MySql.
Idag när man installerar ny MySql är det UTF-8 teckenkodning som gäller.
Om man i den gamla servern gör en online MySql-backup på databasen skapas en ANSI-version av tabellerna. Kör man in den kopian i en UTF-8 databas visas inlägg med åäö på fel sätt.
Försöker man ställa om nya servern till ANSI, visas nog inläggens åäö rätt, men då visas inte åäö rätt på sidornas PHP-texter. Så, hur man än svänger sig har man ryggen där bak.
Den lösning jag kom på var att
a) använda den nya standarden UTF-8 för både MySql och PHP b) använda MySql:s "nattliga" backup som körs automatiskt. Den ger en UTF-8 backup. (En snabbkopia gav ANSI) c) öppna den felaktiga PHP-källkodsfilen i Notepad och spara den ANSI-kodade filen som UTF-8 format i stället. (Man kan välja formatet i Notepads save-dialog).
Skriver man ut PHP-filen före och efter förändringen SER filen lika ut men ÄR det inte. Något jag gick bet på i några dagar innan jag kom på trixet. Förstår mycket väl att Bredde höll sig undan just då.
Nu kan man bara hoppas att den här förklaringen finns kvar i minnet nästa gång problemet dyker upp. Det är ju inte särdeles självklart det heller. |