Hov. Du er ikke logget ind.
DU SKAL VÆRE LOGGET IND, FOR AT INTERAGERE PÅ DENNE SIDE

Manglende æøå i osCommerce admin delen

Side 1 ud af 1 (4 indlæg)
  • 1
Tilmeldt 20. Oct 09
Indlæg ialt: 299
Skrevet kl. 11:17
Hvor mange stjerner giver du? :

Et problem løst og erstattet af et andet...

Jeg mangler simpelthen æøå i admin delen i min osCommerce, men ikke alle steder.

Hvis jeg står på forsiden og kigger på min "orders" eller "Customers" boks, og er der æøå i kunde navnet er linien tom, kigger jeg i menuen "kunder" står alle navne, både med og uden æøå der fint. Går jeg igen under "ordre" står alle kunde navne der fint, men klikker jeg ind på ordren er linien med navn helt tom hvis navnet indeholder æøå, det samme gør sig gældende for adresse (vej navn eller by med æøå).

Nogen forslag til hvad pokker der går galt?

Shoppen har tidlige kørt uden problemer på anden server, fejlen er først kommer i forbindelse med flytningen.

Mvh Kristian

Fra Viborg
Tilmeldt 24. Sep 10
Indlæg ialt: 737
Fra  Webdesign, Niels Madsen Skrevet kl. 13:31
Hvor mange stjerner giver du? :

Hej Kristian

Jeg bruger denne plugins: Transposh Translation Filter , som kører i baggrunden og retter evt.

tekster som ikke er oversat

Men hvis det er under produkter opload med CSV fil, skal den være indstillet til utf.

Mvh. Niels

Webdesign

https://itwebsite.dk

Tilmeldt 20. Oct 09
Indlæg ialt: 299
Skrevet kl. 13:11
Hvor mange stjerner giver du? :

Hej Niels

Tak for forslaget, men navnere ligger rigtigt nok i sql databasen så det er "bare" hjemmesiden i admin delen der ikke viser det hele rigtigt.

Mvh Kristian

Fra Aarhus
Tilmeldt 9. Mar 10
Indlæg ialt: 695
Skrevet kl. 13:26
Hvor mange stjerner giver du? :

Jeg havde selv et lignende problem med OsCommerce efter opgradering af PHP. Kort fortalt, så er OsCommerce noget gammelt skidt, som ikke fungerer godt med PHP 5.3. Dybt inde i systemet (jeg mener det er /includes/functions/general.php) er funktionen tep_output_string defineret. Det er den, som styrer udskrivning af strenge til input felter etc. Den anvender PHP's indbyggede funktion htmlspecialchars til at printe med. Ifølge PHP's egen dokumentation (http://php.net/htmlspecialchars) skete der i PHP 5.3 nogle ændringer til den funktion:

VersionDescription
5.4.0 The default value for the encoding parameter was changed to UTF-8.
5.4.0 The constants ENT_SUBSTITUTEENT_DISALLOWEDENT_HTML401ENT_XML1ENT_XHTML and ENT_HTML5 were added.
5.3.0 The constant ENT_IGNORE was added.
5.2.3 The double_encode parameter was added.
4.1.0 The encoding parameter was added.

Tjek ændringe ved PHP 5.3. ENT_IGNORE. Det betyder:

"Silently discard invalid code unit sequences instead of returning an empty string. Using this flag is discouraged as it » may have security implications."

Og det er præcis problemet du oplever nu. Fordi den ikke "godkender" de her special chars (som æøå nu engang er udenfor Danmark), så bliver strengen "discarded" - smidt væk. 

Løsningen er at nedgradere til PHP 5.2, for dette er kun det første af mange problemer, som du vil opleve med OsCommerce og PHP 5.3. Alternativet er at lede efter en opdatering som gør OsCommerce kompatibel med 5.3 (jeg har ikke fundet den endnu), eller selv prøve at "hacke" dig ud af det. Men der er mange ting, som begynder at opføre sig mærkeligt. 

Helt konkret, så kan du på linje 47 i /includes/functions/general.php erstatte return funktionen med:

return htmlspecialchars($string, ENT_IGNORE, 'ISO-8859-1');

Det burde få den til at printe strengene igen. Men som sagt, så er dette nok bare det første af mange problemer du kommer til at opleve med OsCommerce og nyere versioner af PHP. Personligt plejer jeg at anbefale folk at skfite til Mangento eller Prestashop.

Held og lykke :-)

Side 1 ud af 1 (4 indlæg)