sort_rombe_hvidt_?

Her kan du få hjælp til computerproblemer og programmer, som ikke er omtalt på Ludvigs Hjørne.

sort_rombe_hvidt_?

Indlægaf pm-c » man nov 11, 2019 17:08

PROBLEM: LAMP på min lokale pc returnerer kald til databasen med æøå erstattet af sort rombe med et hvidt spørgsmålstegn: �.
Hvad skal ændres i indstillingerne i LAMP?

Hej Forum!
Min hjemmeside blev flyttet fra TDC, da de nedlagde deres hosting, til dandomain.dk.
dandomains Database-server: Localhost via UNIX socket, servertype: Percona Server.
For at få mine database-udtræk vist på hjemmesiden, måtte jeg vælge PHP version 5.2. på dandommain. PHP-filerne er kodet proceduralt med anvendelse af mysgl.

Jeg vil gerne opdatere php-koden i min hjemmeside fra 5.2 til 7.2, men først afprøve det lokalt på min LAMP. Koden er her ændret til php7 med anvendese af mysqli osv., nogle filer proceduralt, én objektorienteret, lige meget hjælper det, æøå returmeres som �.
LAMP-vebservers PHP-version: 7.2.24-0ubuntu0.18.04.1.

mysql> SHOW SESSION VARIABLES LIKE 'character\_set\_%';
mysql> SHOW SESSION VARIABLES LIKE 'collation\_%';
giver samme resultat fra dandomain og lokal LAMP:
all_charset.png

Forskellene vises her:
Sidste linie viser dandomains indstilling. Ellers er de to ens.
struktur.png

SCHEMATA.png


Venlig hilsen
Peter

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36
pm-c
 
Indlæg: 104
Tilmeldt: søn nov 18, 2012 12:10

Re: sort_rombe_hvidt_?

Indlægaf Kim Ludvigsen » man nov 11, 2019 17:30

Hej Peter

Det har ikke noget med PHP at gøre. Det er indstillingerne for tegnsæt, der driller. Tegnsættet kan angives flere forskellige steder - i databasen, i serverens response-header og i sidens kildekode - og det skal svare til det tegnsæt, som teksten er gemt i. Hvis det ikke er ens alle steder, kan det drille.

Men det er vist endnu mere indviklet hos dig, for jeg kan se, at du har angivet forskellige tegnsæt i din database, du bruger både latin1 og UTF-8. Du kan ikke bare ændre tegnsættet for databasen, for hvis du ændrer den fra latin1 til UTF-8, får du problemer, hvis teksten er gemt som latin1.

Der kan desuden være forskel på, hvordan phpMyAdmin er indstillet. Når jeg ser mine tekster i phpMyAdmin, har jeg også �-fejlen, men det virker fint på hjemmesiderne. Jeg må indrømme, at jeg ikke har gidet prøve at rette det, fordi det ikke er et problem, medmindre jeg skal redigere i en tekst direkte i phpMyAdmin.
Mvh.
Kim Ludvigsen
Kim Ludvigsen
Site Admin
 
Indlæg: 7140
Tilmeldt: tors jun 08, 2006 0:49

Re: sort_rombe_hvidt_?

Indlægaf pm-c » søn nov 17, 2019 19:10

Hej Kim!

Så lykkedes det! jeg tilføjede følgende:

[client]
default-character-set = utf8mb4

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_danish_ci

[mysql]
default-character-set = utf8mb4

til filen /etc/mysql/my.cnf

Resultat:
charset_efter_loesning.png

Returneringer fra databasen er nu uden æøå-fejl.
Løsningen hentet fra:
https://stackoverflow.com/questions/351 ... -in-my-cnf

Venlig hilsen
Peter
pm-c
 
Indlæg: 104
Tilmeldt: søn nov 18, 2012 12:10

Re: sort_rombe_hvidt_?

Indlægaf Kim Ludvigsen » man nov 18, 2019 5:30

Hej Peter

Dejligt! Og tak for tilbagemeldingen, som måske kan hjælpe andre med et lignende problem.
Mvh.
Kim Ludvigsen
Kim Ludvigsen
Site Admin
 
Indlæg: 7140
Tilmeldt: tors jun 08, 2006 0:49


Tilbage til Hjælp til alt

Hvem er online

Brugere der læser dette forum: Ingen og 19 gæster