PHP programmās tiek izkropļotas pārlūkprogrammā ievadītās vērtības
Publikācijas datums:2020. gada 8. decembris.
INFOMARTION > PHP programmās tiek izkropļotas pārlūkprogrammā ievadītās vērtības
Pārskats.
Pārvietojoties no ievades ekrāna uz PHP apstiprinājuma ekrānu, parādījās sajaukts teksts.
Ievadot tekstu veidlapā un pārejot uz apstiprinājuma ekrānu, teksts tiek izkropļots.
Garbled teksts rodas arī pārejot uz savu ekrānu ievades pārbaudes kļūdu dēļ.
Tā kā serveris bija tikko uzbūvēts, man šķita, ka PHP konfigurācijā kaut kā trūkst, tāpēc es aprakstīšu, ko es toreiz atklāju.
Saturs
1. izmeklēšana (lai noskaidrotu kāda notikuma cēloni)
Lai noskaidrotu problēmas cēloni, tika pārbaudīta šāda informācija.
1-1. apsekojums
Vispirms pārbaudiet PHP iestatījumus (php.ini).
default_charset = "UTF-8"
mbstring.internal_encoding = UTF-8
mbstring.encoding_translation = On
Tas ir tā, kā aprakstīts iepriekš, un šķiet, ka viss ir kārtībā.
Tad problēmu, šķiet, rada PHP avots.
Tomēr PHP avots neidentificēja iespējamo problēmu.
Vēlreiz, Es pārbaudīju php.ini par aizdomīgiem iestatījumiem un atradu vienu aizdomīgu iestatījumu.
mbstring.http_input = auto
Nebija skaidrs, vai tas ir kodēts UTF-8 formātā, jo bija iestatīts automātiskais iestatījums, tāpēc tas tika mainīts šādi, lai to izmēģinātu.
mbstring.http_input = UTF-8
Veiksmīgi atrisināts izkropļots teksts.
Šis iestatījums ir nepieciešams modulim mbstring, ja PHP tiek izmantotas daudzbitu virknes, piemēram, japāņu valodā.
Saņemto http pieprasījumu kodēšanas konfigurēšana.
2. kopsavilkums
Ja rodas teksta izkropļojumi, vispirms mēģiniet sakārtot apstrādes plūsmu.
Ja, izmantojot PHP, pārejot no ievades ekrāna uz apstiprinājuma ekrānu vai citām ekrāna pārejām, rodas izkropļotas rakstzīmes, ir aizdomas par šādiem php.ini iestatījumiem.
Noklusējuma iestatījums ir 'auto', tāpēc pārbaudiet šo iestatījumu, ja lietojat mbstring, lai apstrādātu daudzbitu virknes.
Paldies, ka noskatījāties līdz beigām.