Todos sabemos que a ACCESS é um parceiro próximo da ASP. Porque duas das coisas mais simples sempre criam faíscas quando se juntam.
No entanto, quando nossa filtragem não é rigorosa, os caracteres japoneses aparecem frequentemente. Nesse momento, ocorrerá um estouro de japonês após a pesquisa.
Neste momento, a ideia que normalmente podemos pensar é encontrar um programa exe para resolver este problema. Originalmente, escrevi um programa semelhante em C#.
Você deve conseguir encontrar o que escrevi antes no Google. Não direi mais nada.
Então, um dia, descobri que o ASP poderia fazer isso. Eu realmente me senti uma merda na época.
Porém, esse método de ASP é muito ruim. É fácil causar falha no sistema (se o banco de dados for grande).
Então, apenas escrevendo aqui. Pode ser considerado um ponto de partida.
'Deixe-me explicar abaixo:
Função TransferJapanDc9CnInDB()
em caso de erro, retomar próximo
Err.Limpar
Dim objRS,i
Definir objRS=Server.CreateObject("ADODB.Recordset")
objRS.CursorType = adOpenKeyset
objRS.LockType = adLockReadOnly
objRS.ActiveConnection=objConn
objRS.Source = "SELECIONE * DE [blog_Comment]"
objRS.Open()
If (Não objRS.bof) E (Não objRS.eof) Então
For i=1 para objRS.RecordCount
'Atravesse e veja se há algum texto em japonês. Se houver, basta procurar por qualquer coisa. Não importa o que você procura. Como está atravessando o ACCESS, enquanto o ponteiro se mover para o japonês, ele transbordará.
objConn.Execute("SELECT * FROM [blog_Comment] WHERE comm_ID="&objRS("comm_ID")&" AND [comm_Content] LIKE '%URL%'")
Se Err.Number=-2147217900 Então
'Porque err continua, o código de erro de estouro é encontrado aqui. Isso foi depurado por mim e não foi realmente encontrado em algum lugar.
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")&" ")
'Isto é para substituir o texto japonês. A ideia não é muito inteligente? gentileza. No entanto, se o banco de dados ficar enorme, o estouro repetido causará problemas. Os bebês da memória vão chorar.
Err.Limpar
Terminar se
objRS.MoveNext
Próximo
Fim Se
objRS.Close
Definir objRS=Nada
'www.dc9.cn http://www.devdao.com/ 11/07/28
Função Final
Função Japan2Dc9CnHtml (fonte)
fonte=Substituir(fonte,"ガ","ガ")
fonte=Substituir(fonte,"ギ","ギ")
fonte=Substituir(fonte,"ア","ア")
fonte=Substituir(fonte,"ゲ","ゲ")
fonte=Substituir(fonte,"ゴ","ゴ")
fonte=Substituir(fonte,"ザ","ザ")
fonte=Substituir(fonte,"ジ","ジ")
fonte=Substituir(fonte,"ズ","ズ")
fonte=Substituir(fonte,"ゼ","ゼ")
fonte=Substituir(fonte,"ゾ","ゾ")
fonte=Substituir(fonte,"ダ","ダ")
fonte=Substituir(fonte,"ヂ","ヂ")
fonte=Substituir(fonte,"ヅ","ヅ")
fonte=Substituir(fonte,"デ","デ")
fonte=Substituir(fonte,"ド","ド")
fonte=Substituir(fonte,"バ","バ")
fonte=Substituir(fonte,"パ","パ")
fonte=Substituir(fonte,"ビ","ビ")
fonte=Substituir(fonte,"ピ","ピ")
fonte=Substituir(fonte,"ブ","ブ")
fonte=Substituir(fonte,"ブ","ブ")
fonte=Substituir(fonte,"プ","プ")
fonte=Substituir(fonte,"ベ","ベ")
fonte=Substituir(fonte,"ペ","ペ")
fonte=Substituir(fonte,"ボ","ボ")
fonte=Substituir(fonte,"ポ","ポ")
fonte=Substituir(fonte,"ヴ","ヴ")
Japão2Html=fonte
Função final