Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 6768|Atsakyti: 0

Išsamiai aprašyta UTF-8 kodavimo problema KS

[Kopijuoti nuorodą]
Paskelbta 2014-10-30 17:38:44 | | |
UTF-8 KS klausimai saugotis WordPress
Labai anksti susidūriau su problema, tai yra, įdiegus tam tikrą papildinį, spustelėjus aktyvuoti pasirodys baltas ekranas. Niekada nesupratau, kokia yra priežastis, o ankstesnis sprendimas yra tas, kad jei jame nėra kiniškų simbolių, tiesiogiai perkelkite failą į ASCII kodą, kurį paprastai galima išspręsti. Kai aš gavau dienoraštį mano brolis šiandien, ši situacija atsitiko dar kartą. Po ilgų tyrimų pagaliau radau atsakymą.

Unicode specifikacijoje yra KS sąvoka. KS – baitų užsakymo ženklas, kuris yra baitų užsakymo ženklas. Pastabą apie KS rasite čia:

UCS kode yra simbolis, vadinamas "ZERO WIDTH NO-BREAK SPACE", kuris užkoduotas kaip FEFF. FFFE yra neegzistuojantis UCS simbolis, todėl jis neturėtų būti rodomas faktiniame perdavime. UCS specifikacija rekomenduoja perkelti simbolį "ZERO WIDTH NO-BREAK SPACE" prieš perduodant baitų srautą. Tokiu būdu, jei imtuvas gauna FEFF, tai rodo, kad baitų srautas yra Big-Endian; Jei gaunamas FFFE, tai rodo, kad baitų srautas yra Little-Endian. Todėl simbolis "ZERO WIDTH NO-BREAK SPACE" dar vadinamas KS.

UTF-8 nereikalauja KS baitų tvarkai nurodyti, tačiau ji gali naudoti KS, kad nurodytų, kaip ji koduojama. Simbolio "ZERO WIDTH NO-BREAK SPACE" kodavimas UTF-8 yra EF BB BF. Taigi, jei imtuvas gauna baitų srautą, prasidedantį EF BB BF, jie žino, kad tai UTF-8 kodavimas.

Windows naudoja KS, kad pažymėtų, kaip koduojami tekstiniai failai.

Be to, DUK-KS unicode svetainėje išsamiai paaiškina KS. Oficialus gamtos autoritetas, bet anglų kalba, atrodo, yra sunkesnis.

UTF-8 koduotame faile KS užima tris baitus. Jei naudojate Notepad, norėdami įrašyti tekstinį failą kaip UTF-8 kodavimą, atidarykite failą naudodami UE ir perjunkite į šešioliktainę redagavimo būseną, kad pamatytumėte FFFE pradžioje. Tai geras būdas identifikuoti UTF-8 užkoduotus failus, programinė įranga naudoja KS, kad nustatytų, ar failas yra užkoduotas UTF-8, o daugelis programinės įrangos taip pat reikalauja, kad importuotas failas turėtų KS. Tačiau vis dar yra daug programinės įrangos, kuri neatpažįsta KS. Kai tyrinėjau Firefox, žinojau, kad ankstyvosiose Firefox versijose plėtiniai negalėjo turėti BOM, tačiau Firefox 1.5 ir vėlesnės versijos pradėjo palaikyti BOM. Dabar sužinojau, kad PHP taip pat nepalaiko BOM.

PHP buvo sukurtas neatsižvelgiant į KS, o tai reiškia, kad jis neignoruoja trijų KS simbolių UTF-8 užkoduoto failo pradžioje. Kadangi jis turi būti
Kaip mačiau Bo-Blog wiki, Bo-Blog, kuris taip pat naudoja PHP, taip pat neramina BOM. Minima dar viena problema: "Dėl SLAPUKŲ siuntimo mechanizmo apribojimo failuose, kurių pradžioje jau yra KS, SLAPUKAI negali būti siunčiami (nes PHP jau išsiuntė failo antraštę prieš išsiunčiant SLAPUKĄ), todėl prisijungimo ir atsijungimo funkcijos yra negaliojančios. Visos funkcijos, kurios priklauso nuo COOKIE ir SESSION, yra negaliojančios. Tai turėtų būti tuščio puslapio "WordPress" fone priežastis, nes bet kuriame iš įvykdytų failų yra KS, o visi trys simboliai bus išsiųsti, todėl funkcionalumas, priklausantis nuo slapukų ir seansų, nepavyks.

Sprendimas yra išsaugoti failą kaip ASCII kodą, jei jame yra tik angliški simboliai (arba ASCII kodavimo simboliai). Jei naudojate redaktorių, pvz., UE, spustelėkite File->Convert->UTF-8 į ASCII arba pasirinkite ASCII kodavimas dalyje Įrašyti kaip. Jei tai eilutė, kuri baigiasi DOS formatu, galite ją atidaryti naudodami Notepad, spustelėti Save As ir pasirinkti ASCII kodavimas. Jei jame yra kiniškų simbolių, galite naudoti UE funkciją išsaugoti kaip ir pasirinkti "UTF-8 no BOM". Žiūrėkite žemiau esantį paveikslėlį:

Pagal Bo-Blog wiki instrukcijas: Editplus reikia išsaugoti kaip gb, o tada kaip UTF-8. Tačiau būkite atsargūs tai darydami, visi simboliai, kurie nėra įtraukti į GBK kodavimą, bus prarasti. Jei faile yra ne kiniškų simbolių, nenaudokite šio metodo. (Iš šio mažo aspekto, UE - UltraEdite-32 iš tiesų yra daug geresnis nei Editplus, Editplus yra per lengvas)

Kitas būdas aš radau yra naudoti failų redaktorių teikia WordPress. Šis metodas nėra ribojamas ir nereikia atsisiųsti specialaus redaktoriaus, juk visi naudoja "WordPress". Pirmiausia įjunkite failo, kurį norite redaguoti ftp, rašymo leidimą, tada įveskite "WordPress" foną - > valdymą > failų rengyklę, įveskite failo redagavimo kelią ir spustelėkite Redaguoti failą. Pasirodžiusiame redagavimo ekrane nematysite pirmųjų trijų simbolių, bet viskas gerai, perkelkite žymeklį prieš pirmąjį viso failo simbolį ir paspauskite klavišą "Backspace". Gerai, spustelėkite Atnaujinti failą, atnaujinkite jį ftp, pamatysite, kad failas yra 3 baitais mažesnis, ir viskas.

Galiausiai, tai yra didelė problema, visiems, kurie nori parašyti savo įskiepius, redaguoti kitų žmonių įskiepius savo reikmėms ir reikia modifikuoti šabloną (manoma, kad to reikia visiems), geriausia suprasti aukščiau pateiktas žinias, kad neiškilus problemai nebūtų priblokšti.





Ankstesnis:Žiūrėti pradinių klasių mokiniai žaisti LOL ir nužudyti viską per kelias sekundes! (Naujausias grotuvo originalas)
Kitą:Luo Yonghao atsakė, kad "plaktukas mobilieji telefonai žemiau 2500 yra anūkai"
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com