Sitemap google utf-8

Fermé
tonym - 16 nov. 2010 à 11:26
 tonym - 24 août 2011 à 16:36
Bonjour à tous,

Beaucoup de webmasters se sont certainement déjà posée sur cette question et pourtant je n'ai trouvé encore aucune solution sur le WEB, peut-être que vous allez pouvoir m'aider. Je l'espère.

Un sitemap est généré automatiquement par un script ASP à partir d'une base de donnée.
Le principe est décrire dans un fichier, je vous laisse ici un bout de code succint pour que vous puissiez peut-être voir une erreur ?

Set fso = CreateObject("Scripting.FileSystemObject")
chemin_fichier = "D:\www\xxx.com\www\sitemap.XML"
If FSO.FileExists(chemin_fichier) Then
Set MyFile = fso.GetFile(chemin_fichier)
MyFile.Delete
end if
Set f1 = fso.OpenTextFile(chemin_fichier, 8, TRUE,-1)

f1.writeline header
f1.writeline institu
f1.writeline footer

f1.close
set f1=nothing
set fso=nothing


Le fichier sitemap.xml est bien écrit, sans erreur SQL ou autre... Seulement Google ne l'accepte pas car il n'est apparemment pas écrit en UTF-8

La seule solution trouvée jusqu'a aujourd'hui et de réouvrir ce fichier avec le bloc note est de l'encoder en UTF-8 après ça tout est ok.

Je pensais qu'il s'agissait d'un problème d'accent, de ce fait un script permet de les supprimer mais ça n'est surement pas suffisant.

Function noaccent(txt) ' Vire les accents
   dim temp,regEx
   temp = txt
   Set regEx = New RegExp' crée un objet RegExp
   regEx.IgnoreCase = True' Casse ignorée
   regEx.Global = True' Recherche sur toute la chaîne
   regEx.Pattern = "[àâäá]"' Chars cherchés entre [ et ]
   temp = regEx.REPLACE(temp,"a")
   regEx.Pattern = "[éèêë]"
   temp = regEx.REPLACE(temp,"e")
   regEx.Pattern = "[îïí]"
   temp = regEx.REPLACE(temp,"i")
   regEx.Pattern = "[ç]"
   temp = regEx.REPLACE(temp,"c")
   regEx.Pattern = "[ôó]"
   temp = regEx.REPLACE(temp,"o")
   regEx.Pattern = "[ü]"
   temp = regEx.REPLACE(temp,"u")
   regEx.Pattern = "[ñ]"
   temp = regEx.REPLACE(temp,"n")
   regEx.Pattern = "[' /°']"
   temp = regEx.REPLACE(temp,"-")
   regEx.Pattern = "[(),#%?;.:!²&<>_"&chr(34)&"]"
   temp = regEx.REPLACE(temp,"")
   noaccent=temp
end function


Y a-t-il peut-être en ASP une autre manière d'écrire dans un fichier afin de lui dire de le convertir automatiquement en UTF-8 ?

Merci,
A voir également:

2 réponses

petit up ^^
0
petit up merci
0