Hoe stel ik het Karakter Codering UTF-8 voor default.html?

Ik heb de laatste paar uur om mijn website te valideren HTML 4.01 Strict en ik eigenlijk wel gelukt, maar er is nog steeds een waarschuwing dat ik niet kan ontdoen van. De waarschuwing is:

Karakter Codering komen niet overeen!

Het karakter codering is gespecificeerd in
de HTTP-header (iso-8859-1)
verschillende van de waarde in het
element (utf-8). Ik zal gebruik maken van de waarde
van de HTTP-header (iso-8859-1) voor
deze validatie.

De pagina in kwestie is www.dubiousarray.net/default.html. Zoals je kunt zien op de pagina bron heb ik het volgende meta-element:

<meta http-equiv="Content-Type" content="text/html;charset=utf-8">

en ik heb ervoor gezorgd dat de default.html het bestand is opgeslagen met de UTF-8-codering. Het vreemde is dat alle andere pagina ‘ s op de site valideren zonder deze waarschuwing en ze hebben dezelfde meta-tag en zijn opgeslagen op precies dezelfde manier. Ik ben er vrij zeker van dat het iets te maken met de server config. Het .htaccess-bestand ziet er zo op het moment:

# Use PHP5 as default
AddHandler application/x-httpd-php5 .php
AddDefaultCharset UTF-8

maar ik heb geprobeerd alle correcties weergegeven op deze pagina en geen van hen werkte. Heeft iemand ideeën over hoe om te gaan over het wegwerken van deze waarschuwing? Een laatste ding, in Firefox als u met de rechtermuisknop op de pagina en selecteer ‘Weergave Pagina-Informatie’, default.html toont zoals ISO-8859-1
terwijl alle andere pagina ‘ s UTF-8.

Bedankt, Jacob

EDIT: Iets anders op te merken is dat alle html-bestand gemaakt en opgeslagen in exact dezelfde manier (karakter codering instellen naar UTF-8 (zonder BOM), maar default.html is de enige die niet weergegeven als UTF-8. Dus ik neem aan dat de server aan het doen is iets speciaals aan de default.html bestand al ben ik niet zeker wat als er geen teken van het in de .htaccess bestand.

 

5 Replies
  1. 26

    Je nodig hebt voor het vervangen van de HTTP-koptekst niveau.

    Dit zou moeten werken:

    <?php 
     header('Content-type: text/html; charset=utf-8'); 
    ?>

    Merk op dat het bovenstaande moet worden is het EERSTE wat in uw bestand. Geen uitzonderingen. Zie
    http://us2.php.net/manual/en/function.header.php

    Voor algemene info over het wijzigen van de karakter set header in verschillende web-stacks, zie
    http://www.w3.org/International/O-HTTP-charset

    Larry

    • Dat ziet eruit als het moet het probleem oplossen als het gaat na de server messes, maar als ik niet langer de default.html het bestand dat het probleem veroorzaakt kan ik niet testen. Ik ga ervan uit dat het zou hebben gewerkt wel :-).
  2. 2

    De server is duidelijk markering van het document, zoals ISO-8859-1 in de HTTP-headers. Probeer op te slaan default.html het gebruik van UTF-8-codering met een goede editor.

    • De default.html het bestand is opgeslagen als UTF-8 met een goede editor (UTF-8 (zonder BOM) om precies te zijn). En ik ben er bijna zeker van dat de codering is juist wanneer ik sla het op als alle andere pagina ‘ s op de site worden weergegeven als UTF-8 wanneer het wordt gecontroleerd door Firefox. De server lijkt bezig te zijn met iets speciaals aan de default.html -bestand.
  3. 1

    Oke, ik ben gekomen met een gedeeltelijke oplossing voor mijn probleem. Het was slechts de default.html de file die de oorzaak was van de waarschuwing heb ik aangenomen dat de server aan het doen was iets speciaals aan het omwille van zijn naam. Dus maakte ik een nieuw bestand met de naam home.html met dezelfde inhoud als de default.html bestand en wees het .htaccess bestand in het nieuwe bestand (zie regel 3 hieronder).

    # Use PHP5 as default
    AddHandler application/x-httpd-php5 .php
    DirectoryIndex home.html
    AddDefaultCharset UTF-8

    Het probleem is opgelost en alle bestanden worden nu erkend als UTF-8. Ik ben nog niet zeker wat de server aan het doen was aan de default.html bestand of de instellingen van die betreffende dat zijn maar mijn probleem is gegaan zal ik vergeten dat.

  4. 0

    Kunt u verwijderen AddDefaultCharset van .htaccess en controleer de codering? Ik heb de HTML-broncode van uw webpagina op en opende het. De codering werd gedetecteerd als UTF-8. Echter, op het bekijken van dezelfde webpagina geserveerd door uw webserver, wordt de codering ISO-8859-1. Dat is waarom ik stel voor het verwijderen van de voormalige overbodige regel.

    • Ik verwijderd, dat de regel van de .htaccess-bestand als u de juiste is, lijkt het overbodig is, niet alles doen om het probleem op te lossen wel.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *