Værdier, der er indtastet i browseren, er forvrænget i PHP-programmer


Udgivelsesdato:8. december 2020.



INFOMARTION > Værdier, der er indtastet i browseren, er forvrænget i PHP-programmer

Oversigt.

Der opstod forvrænget tekst, når man gik fra indtastningsskærmen til bekræftelsesskærmen i PHP.

Teksten er forvrænget, når du indtaster tekst i formularen og går til bekræftelsesskærmen.

Der opstår også forvrænget tekst ved overgang til egen skærm på grund af fejl i indtastningskontrollen.

Da serveren lige var blevet bygget, følte jeg, at der manglede noget i PHP-konfigurationen, så jeg vil beskrive, hvad jeg fandt ud af på det tidspunkt.


Indholdsfortegnelse

  1. undersøgelse (for at fastslå årsagen til noget)
  2. resumé

1. undersøgelse (for at fastslå årsagen til noget)

Følgende oplysninger blev undersøgt for at finde frem til årsagen til problemet.

1-1. undersøgelse

Først skal du kontrollere PHP-indstillingerne (php.ini).

php.ini


default_charset = "UTF-8"
mbstring.internal_encoding = UTF-8
mbstring.encoding_translation = On

Den er som beskrevet ovenfor og ser ud til at være i orden.

Så problemet ser ud til at være forårsaget af PHP-kilden.

PHP-kilden identificerede dog ikke det sandsynlige problem.

Endnu en gang tjekkede jeg php.ini for mistænkelige indstillinger og fandt en mistænkelig indstilling.

php.ini


mbstring.http_input = auto

Det var uklart, om den var kodet i UTF-8, fordi den var indstillet til auto, så den blev ændret som følger for at afprøve det.

php.ini


mbstring.http_input = UTF-8

Det er lykkedes at løse forvrænget tekst.

Denne indstilling er nødvendig for mbstring-modulet, når du bruger multibyte-strenge som f.eks. japansk i PHP.

Konfiguration af kodningen af modtagne http-anmodninger.

2. resumé

Hvis der opstår forvrænget tekst, skal du først forsøge at organisere behandlingsflowet.

Og hvis du oplever forvrængede tegn, når du bruger PHP til at gå fra indtastningsskærmen til bekræftelsesskærmen eller andre skærmovergange, skal du mistænke følgende indstillinger i php.ini.

Standardindstillingen er "auto", så tjek dette, når du bruger mbstring til at behandle multibyte-strenge.

Tak, fordi du kiggede med til slutningen.




■INFORMATION

Klik her for at gå til den øverste side med oplysninger.


■PROFILE

Klik her for at se en profil.


■Kontaktoplysninger.

For forespørgsler om artiklen kan du kontakte os her.