Wir alle wissen, dass ACCESS ein enger Partner von ASP ist. Denn zwei der einfachsten Dinge erzeugen immer Funken, wenn sie zusammenkommen.
Wenn unsere Filterung jedoch nicht streng ist, werden häufig japanische Zeichen angezeigt. Zu diesem Zeitpunkt kommt es nach der Suche zu einem japanischen Überlauf.
Zu diesem Zeitpunkt können wir uns normalerweise vorstellen, ein EXE-Programm zu finden, um dieses Problem zu lösen. Ich habe ursprünglich ein ähnliches Programm in C# geschrieben.
Sie sollten den Artikel, den ich zuvor geschrieben habe, bei Google finden können. Mehr verrate ich nicht.
Dann fand ich eines Tages heraus, dass ASP das kann. Ich fühlte mich damals wirklich beschissen.
Diese ASP-Methode ist jedoch sehr schlecht. Es kann leicht zu einem Systemabsturz kommen (wenn die Datenbank groß ist).
Also schreibe ich einfach hier. Es kann als Ausgangspunkt betrachtet werden.
„Lassen Sie es mich unten erklären:
Funktion TransferJapanDc9CnInDB()
bei Fehler Weiter fortsetzen
Err.Clear
Dim objRS,i
Setze objRS=Server.CreateObject("ADODB.Recordset")
objRS.CursorType = adOpenKeyset
objRS.LockType = adLockReadOnly
objRS.ActiveConnection=objConn
objRS.Source="SELECT * FROM [blog_Comment]"
objRS.Open()
If (Not objRS.bof) And (Not objRS.eof) Then
For i=1 to objRS.RecordCount
„Gehen Sie durch und prüfen Sie, ob japanischer Text vorhanden ist. Suchen Sie einfach nach etwas.“ Es spielt keine Rolle, wonach Sie suchen. Da es ACCESS durchläuft, läuft es über, solange sich der Zeiger auf Japanisch bewegt.
objConn.Execute("SELECT * FROM [blog_Comment] WHERE comm_ID="&objRS("comm_ID")&" AND [comm_Content] LIKE '%URL%'")
Wenn Err.Number=-2147217900, dann
„Da der Fehler weiterhin besteht, wird hier der Überlauffehlercode gefunden. Dies wurde von mir selbst debuggt und nicht von irgendwoher gefunden.“
objConn.Execute("UPDATE [blog_Comment] SET [comm_Content]='"&FilterSQL(Japan2Html(objRS("comm_Content")))&"',[comm_Author]='"&FilterSQL(Japan2Dc9CnHtml(objRS("comm_Author"))) &"' WHERE comm_ID="&objRS("comm_ID")&" ")
„Das soll den japanischen Text ersetzen.“ Freundlichkeit. Wenn die Datenbank jedoch sehr groß wird, führt ein wiederholter Überlauf zu Problemen. Erinnerungsbabys werden weinen.
Err.Clear
Ende wenn
objRS.MoveNext
Nächstes
Ende Wenn
objRS.Close
Setze objRS=Nothing
'www.dc9.cn http://www.devdao.com/ 28.11.07
Endfunktion
Funktion Japan2Dc9CnHtml(Quelle)
source=Replace(source,"ガ","ガ")
source=Replace(source,"ギ","ギ")
source=Replace(source,"ア","ア")
source=Replace(source,"ゲ","ゲ")
source=Replace(source,"ゴ","ゴ")
source=Replace(source,"ザ","ザ")
source=Replace(source,"ジ","ジ")
source=Replace(source,"ズ","ズ")
source=Replace(source,"ゼ","ゼ")
source=Replace(source,"ゾ","ゾ")
source=Replace(source,"ダ","ダ")
source=Replace(source,"ヂ","ヂ")
source=Replace(source,"ヅ","ヅ")
source=Replace(source,"デ","デ")
source=Replace(source,"ド","ド")
source=Replace(source,"バ","バ")
source=Replace(source,"パ","パ")
source=Replace(source,"ビ","ビ")
source=Replace(source,"ピ","ピ")
source=Replace(source,"ブ","ブ")
source=Replace(source,"ブ","ブ")
source=Replace(source,"プ","プ")
source=Replace(source,"ベ","ベ")
source=Replace(source,"ペ","ペ")
source=Replace(source,"ボ","ボ")
source=Replace(source,"ポ","ポ")
source=Replace(source,"ヴ","ヴ")
Japan2Html=Quelle
Funktion beenden