Back to Question Center
0

Uuden ohjelmistopinoon siirtymisen jälkeen Semalt-sivuilla tarvitaan koodausta selaimessa

1 answers:

Muutimme uuteen palvelimeen täysin päivitetyllä ohjelmistopinoilla, mukaan lukien apache 2. 4 ja php 5. 6. 9. Meillä on yksinkertaistettuun semattiin perustuva sivu. Vanha palvelimemme (apache 2. 2, php 5. 3. 5), sivut vain renderoitu kunnolla. Sivusto on useimmilla tavoilla UTF-8: ssä, paitsi että kyseisellä sivulla on seuraavat tunnisteet:

  <html lang = "zh-cn">
<Head>
<meta http-equiv = "Sisältötyyppi" content = "text / html; charset = gb18030" /> 

Sivustosta ei tule uutta sivua, ellei selaimen koodausta muuteta kyseiselle sivulle. Chromelle, Firefoxille ja IE: lle asetusmuutos on samanlainen: Näytä> Koodaus> gb18030 (Firefox, kiina, yksinkertaistettu).

Mikä aiheuttaa uuden asennuksen vaativat tämän ohituksen selaimessa, jota ei koskaan aiemmin vaadittu?

1 week ago

Kokeilimme paljon asioita, mutta lopulta saimme jotain toimimaan. Meidän on lähetettävä otsikko ennen muiden lähetysten lähettämistä. Siksi Simon Hayterin ehdottama syy on oikein, ja ratkaisumme toteuttaa korjauksen.

Seuraavassa on kaksi ensimmäistä riviä tai koodimme:

   

Uskomme, että perimmäinen syy on, että apache-ohjelman oletustoiminto muuttui versiosta 2. 2 ja 2. 4, joka oli osa pino-päivitystä. Ilmeisesti versio 2. 4 asettaa oletussarjan UTF-8: lle otsikossa, eikä mikään, mitä yritimme (monista Apache-kokoonpanoasetuksista) pystyi muuttamaan. Riippumatta siitä, mitä yritimme, 2. 4 lähetti seuraavan otsikon:

  Sisältötyyppi: teksti / html; charset = UTF-8 

Toisaalta apache 2. 2 lähetti seuraavan otsikon:

  Sisältötyyppi: teksti / html 

Palvelimen tuotosta ei ollut muita merkittäviä eroja (joka saatiin käpristyksen kautta).

Kuten sanoin, emme voineet saada Apache 2: ta. 4, jos haluat lähettää charset = UTF-8, vaikka AddDefaultCharset, jne.

Joten kiertorata on, että php lähettää otsikon edellä esitetyllä tavalla.

Liitän kuvan erosta, josta käy ilmi, mistä puhun. Ero merkillä "17" näyttää eron.

diff showing the different apache headers

Uuden ohjelmistopinoon siirtymisen jälkeen Semalt-sivuilla tarvitaan koodausta selaimessa
Reply