Värden som skrivs in i webbläsaren förvrängs i PHP-program.


Datum för offentliggörande:8 december 2020.



INFOMARTION > Värden som skrivs in i webbläsaren förvrängs i PHP-program.

Översikt.

Förvrängd text uppstod när man gick från inmatningsskärmen till bekräftelseskärmen i PHP.

Texten är förvrängd när du skriver in text i formuläret och går till bekräftelseskärmen.

Förvrängd text förekommer också vid övergång till den egna skärmen på grund av fel i inmatningskontrollen.

Eftersom servern precis hade byggts upp kände jag att något saknades i PHP-konfigurationen, så jag kommer att beskriva vad jag upptäckte då.


Innehållsförteckning

  1. utredning (för att fastställa orsaken till något)
  2. sammanfattning

1. utredning (för att fastställa orsaken till något)

Följande information undersöktes för att utreda orsaken till problemet.

1-1. Undersökning

Kontrollera först PHP-inställningarna (php.ini).

php.ini


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

Det är som beskrivet ovan och verkar vara bra.

Då verkar problemet bero på PHP-källan.

PHP-källan identifierade dock inte det troliga problemet.

Återigen kontrollerade jag php.ini för misstänkta inställningar och hittade en misstänkt inställning.

php.ini


mbstring.http_input = auto

Det var oklart om den var kodad i UTF-8 eftersom den var inställd på auto, så den ändrades på följande sätt för att testa det.

php.ini


mbstring.http_input = UTF-8

Framgångsrik lösning på förvrängd text.

Den här inställningen är nödvändig för mbstring-modulen när du använder multibyte-strängar, t.ex. japanska, i PHP.

Konfigurering av kodningen av mottagna http-förfrågningar.

2. sammanfattning

Om förvrängd text uppstår, försök först att organisera bearbetningsflödet.

Om du upplever förvrängda tecken när du använder PHP för att övergå från inmatningsskärmen till bekräftelseskärmen eller andra skärmövergångar kan du misstänka följande inställningar i php.ini.

Standardinställningen är "auto", så kontrollera detta när du använder mbstring för att bearbeta multibyte-strängar.

Tack för att du tittade på till slutet.




■INFORMATION

Klicka här för att komma till den översta sidan med information.


■PROFILE

Klicka här för en profil.


■Kontaktuppgifter.

För frågor om artikeln, vänligen kontakta oss här.