Fel vid flytt till ny server ...

PHPportalen Forum Index » PHP
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
GoranP



Medlem i: 2584 dagar

Status: Offline



#717316
Inlägg Skrivet: 2011-11-30 14:52      Ämne: Fel vid flytt till ny server ... Citera

Min fråga är kanske i gränslandet för denna tråden men jag börjar här ..

Jag har kört en webserver på min befintliga NAS (QNAP TS209Pro) [gammal], men håller på att flytta detta till en ny NAS (QNAP TS-459ProII) [ny].
Befintliga php-script samt databas är flyttade. Databasen (MySQL) fungerar bra, jag kan utan vidare läsa data korrekt mha phpAdmin eller med MySQL's Query browser.

När jag kör ett php-script som ska läsa ut data från DB får jag fel.
Exempelvis visas bokstaven ä som ä istället. Om jag skriver bokstaven ä direkt i html-koden, skrivs den ut korrekt.
Det hela känns som ett fel charset eller liknande. Jag har jämfört utdata från phpinfo från båda maskinerna för att hitta någon trolig inställningsskillnad, men inte hittat något som jag skulle peka som felorsak.

Har någon ett tips att ge mig, vad jag ska leta efter ?

version PHP
[ny] 5.2.14
[gammal] 5.2.9
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
EmilV
Ex-Moderator



Medlem i: 5825 dagar
Från: Lilla Edet
Status: Offline



#717330
Inlägg Skrivet: 2011-11-30 22:47      Ämne: Citera

Låter som att du har fel teckenkodning i anslutningen mellan skript och databas. Pröva att köra "SET NAMES" i SQL för att byta till rätt teckenkodning på anslutningen. Kanske är det olika MySQL-versioner med olika standardteckenkodning eller åtminstone olika konfiguration i my.cnf som ställer till problemet.
 

_________________
Tänk!

EmilVikström.se | Bloglovin.com
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
GoranP



Medlem i: 2584 dagar

Status: Offline



#717423
Inlägg Skrivet: 2011-12-04 15:15      Ämne: Citera

Jag har testat vidare, för att försöka hitta källan till felet. Båda enheterna finns i samma nät.

[Gamla]
Jag har provat med att ändra sökväg till databasen så att data hämtas ur den [nya]. Fungerar.

[Nya]
Har på motsvarande sätt gjort så att data hämtas från den gamla enheten. Samma fel som hämtning lokalt.

Slutsats
Som jag tolkar det borde felet finnas någonstans i hanteringen på den nya enheten. Det har någonting med teckenkodningen att göra, men jag ser inte vad. Ni som är duktiga på PHP, vilken/vilka parametrar borde var mest troliga att kunna ge detta beteende.

Det verkar som det blir fel på båda hållen, har jag ett fält i databasen som innehåller svenska tecken fungerar det inte. Finns svensk atecken i resultatet från database, blir utskriften "lattjo".

Förmodligen ett lätt fel när man vet vad det är ..
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
EmilV
Ex-Moderator



Medlem i: 5825 dagar
Från: Lilla Edet
Status: Offline



#717449
Inlägg Skrivet: 2011-12-04 23:48      Ämne: Citera

Så vad fick du för resultat när du prövade att byta till rätt teckenkodning på anslutningen med SET NAMES?

Förresten vill jag passa på att varna dig för att lägga in nya saker i databasen tills du kommit tillrätta med problemet. Om du blandar data i två olika teckenkodningar i samma tabeller så kommer du att få huvudvärk senare.
 

_________________
Tänk!

EmilVikström.se | Bloglovin.com
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
GoranP



Medlem i: 2584 dagar

Status: Offline



#717487
Inlägg Skrivet: 2011-12-05 17:48      Ämne: Citera

Jag uttryckte mig kanske lite luddigt. Jag har läst upp alla variabler från servern (Show Variables), men ser ingen skillnad.

Däremot testade jag något annat, som jag beskrev i föregående inlägg.

Jag låter den gamla servern hämta data från alternativt den gamla DB alt den nya DB. Resultat : data ser likvärdig ut och allt fungerar.

Jag låter den nya servern hämta data från alternativt den gamla DB alt den nya DB. Resultat : data ser konstig ut så fort den innehåller svenska tecken, samt fungerar inte då det finns fältnamn eller en test med svenska tecken.

Alltså min slutsats är att något skiljer sig åt i uppsättningarna av php eller webservern i sig. Men jag ser inte vad ...

Jag har jämfört de olika inställningarna men ser som sagt "inte skogen för alla träd".
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
marabou
Administratör



Medlem i: 5180 dagar
Från: Sveriges framsida
Status: Offline



#717489
Inlägget är accepterad som det rätta svaret Skrivet: 2011-12-05 17:52      Ämne: Citera

Som EmilV skriver är det förmodligen uppkopplingens teckenuppsättning som är annorlunda. Det finns olika sätt att fixa det, antingen genom SET NAMES eller mysql_set_charset
 

_________________
"Never argue with stupid people. They will bring you down to their level and beat you with experience."
- Mark Twain
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
GoranP



Medlem i: 2584 dagar

Status: Offline



#717492
Inlägg Skrivet: 2011-12-05 19:09      Ämne: Citera

Äntligen! Vad säger man ? EUREKA !!

SET NAMES fick jag inte att fungera, mest för att jag kanske inte föstod hur det skulle fungera..

mysql_set_charset blev det som gjorde att det verkar fungera hos mig. Jag infogade följande i min kod :
KOD:
1:
mysql_set_charset('latin1',$conn);


Därefter ser det ut att fungera...
Märkligt, men sant.

Tack för hjälpen ... Laughing
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » PHP
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic