2010-11-03 12 views
19

Un site que j'ai fait a quelques problèmes ... Sur l'une des pages, partout où il y a une apostrophe (') ou un tiret (-), le symbole est remplacé par un diamant noir étrange avec un point d'interrogation dans le centre de celui-ciPourquoi des symboles comme les apostrophes et les traits d'union sont-ils remplacés par des diamants noirs sur mon site Web?

Voici ce que je veux dire
screen

il semble que cela se passe partout dans le site où ces symboles apparaissent. Je n'ai jamais vu ça auparavant, quelqu'un peut-il me l'expliquer?

Suggestions sur la façon de le réparer serait également grandement appréciée.

Voir http://test.rfinvestments.co.za/index.php?c=team pour un aperçu clair du problème.

+0

De quel encodage avez-vous écrit le site Web? Quel codage le navigateur voit-il? Quel est le code réel? Il y a trop peu d'informations ici pour répondre à la question. L'URL de capture d'écran 404s. –

Répondre

33

C'est un problème d'encodage. Vous devez définir l'encodage correct dans la tête HTML via la balise meta:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 

Remplacer "ISO-8859-1" avec tout ce que l'encodage est (par exemple 'UTF-8'). Vous devez savoir quel est l'encodage de vos fichiers HTML. Si vous êtes sur un système Unix, tapez file file.html et il devrait vous montrer l'encodage. Si cela n'est pas possible, vous devriez pouvoir trouver quelque part l'encodage de votre éditeur.

+0

n'avait pas pris la peine de le regarder. Ils sont probablement ascii ... pouvez-vous me dire comment régler ça? – Ortund

+0

@Logan Young une fois que vous savez quel type d'encodage votre éditeur produit, il vous suffit de définir cet encodage dans la méta-balise que j'ai posté plus haut. Quel éditeur utilisez-vous? – joni

+0

lol Notepad ...... – Ortund

6

Vous devez modifier votre texte en 'Texte brut' avant de le coller dans le document HTML. Cela ressemble à une erreur que j'ai eu avant en collant directement à partir de MS Word.

MS Word et d'autres éditeurs de texte riche placent souvent des caractères cachés ou invalides dans votre code. Essayez d'utiliser &mdash; pour vos tirets, ou &rsquo; pour les apostrophes (etc), pour éliminer le besoin de vous fier à votre encodage de caractères.

1

Regardez votre code html actuel et vérifiez que les symboles étranges ne sont pas originaires de là. Ce problème est survenu lorsque j'ai commencé à coder dans Notepad ++ à mi-chemin après le codage dans le Bloc-notes. Il me semble que l'ancienne version de Notepad que j'utilisais peut avoir utilisé un encodage différent de l'encodage ++ UTF-8 du Notepad. Après avoir transféré mon code du bloc-notes à Notepad ++, les apostrophes ont été remplacés par des symboles bizarres, donc j'ai simplement dû supprimer les symboles de mon code Notepad ++.

+0

Copier-coller entre les éditeurs peut provoquer cela. @Leonid Votre réponse a aidé à regarder dans la bonne direction. –

2

J'ai le même problème dans mon application Web asp.net. Je ai résolu par ce

Je viens de remplacer 'avec &rsquo; texte comme ci-dessous et mon site dans le navigateur afficher apostrophe sans rectangle autour comme en question demander.

Original text in html page 
Click the Edit button to change a field's label, width and type-ahead options 

Replace text in html page 
Click the Edit button to change a field&rsquo;s label, width and type-ahead options 
1

Si vous modifiez HTML dans le Bloc-notes vous devez utiliser « Enregistrer sous » et modifier la valeur par défaut « Codage: » sélection à la botom de la boîte de dialogue en UTF-8. vous devriez également comprennent-

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

Ceci définit un-le bon caractère ambigu et mis en informe le navigateur.