Ich weiß nicht, warum die Codierung der großen Suchmaschinen jetzt anders ist. Natürlich ist es entweder GB2312 oder UTF-8. Das Codierungsproblem ist Kopfschmerzen ... es ist so problematisch ...
Wir erhalten Schlüsselwörter, die normalerweise über die URL der Besuchsseite analysiert werden. Zum Beispiel
http://www.google.com/search?hl=zh-cn&q=%E5%AD%A4%E7%8B%AC&lr=
Sie alle wissen, dass dies durch Urlencode codiert wird.
Wir müssen 2 Schritte durchlaufen, um die Informationen zu erhalten. Der erste Schritt besteht darin, Urldecode durchzuführen. Wenn wir mit gewöhnlichen Parametern leben, geschieht dies vom ASP selbst, aber jetzt müssen wir manuelle Dekodierung durchführen.
Es gibt viele Funktionen online, aber alle lösen GB2312.UTF-8 für die Seite GB2312. Dafür können wir es zuerst leicht dekodieren und dann die Codierung anhand der Suchmaschine beurteilen. Wenn es UTF-8 ist, wird es in GB2312 umgewandelt.
Aber da meine Website eine UTF-8-Seite ist. Und die UTF-8-Seite Ich habe nur die Urldecode-Codierung gefunden, die UTF-8-Zeichen löst. Ich habe hier lange hier eine Pause gemacht, und am Ende konnte ich nur die schlechteste Methode verwenden, um die geteilten Schlüsselwörter mithilfe von XMLHTTP an eine ASP-Seite von GB2312 einzureichen, und dann in einem verstümmelten Code (GB2312) zu leben und dann GB2312 Toutf-8 zu konvertieren.
Der folgende Hauptimplementierungscode.
PublicFunctionGetSearchKeyword (Refererurl) 'Suchschlüsselwörter
IFREFERERURL = ORLEN (Refererurl) <1Thenexitfunction
onErrorresumeNext
Dimre
Setre = newRegexp
re.Innorecase = true
re.global = true
Dima, b, j
'Fuzzy -Suchschlüsselwörter, diese Methode ist schneller und hat einen größeren Bereich
re.pattern = (Word = ([^&]*) | q = ([^&]*) | p = ([^&]*) | query = ([^&]*) name = ([^&]*) | _SEARCHKEY = ([^&]*) Baidu.*? W = [^&]*))).
Seta = re.execute (refererurl)
Ifa.count> 0Then
SetB = a (a.count-1) .Submatches
FORJ = 1TOB.COUNT
Iflen (b (j))> 0Then
IfInstr (1, Refererurl, Google, 1) dann
GetEarchKeyword = trim (u8decode (b (j)))
Elseifinstr (1, Refererurl, Yahoo, 1) dann
GetEarchKeyword = trim (u8decode (b (j)))
Elseifinstr (1, Refererurl, Yisou, 1) dann
GetSearchKeyword = trim (getKey (b (j)))
Elseifinstr (1, Refererurl, 3721,1)
GetSearchKeyword = trim (getKey (b (j)))
anders
GetSearchKeyword = trim (getKey (b (j)))
Endif
Ausgangsfunktion