[ASP] Index Server Suche Unicode Problem
Mischer Jens
activeserverpages at glengamoi.com
Tue, 2 Nov 2004 14:00:36 +0100
Hallo zusammen,
Ich programmiere gerade eine Suche, die zum einen eine Keyword =
Datenbank und
zum anderen einen Index Server abfragt.
Funktioniert soweit auch wunderbar, nur habe ich das Problem, dass die =
Seite
auf deutsch und czechisch erstellt werden soll.
Wie gesagt, die deutsche Suche funktioniert einwandfrei, bei der =
czechischen
Suche werden allerdings Wörter in denen Unicodezeichen grösser als =
255
vorkommen komplett ignoriert (z.B. ein R oder S mit dem Haken drauf).
Da dieses Problem bei der DB-Abfrage sowie bei der objektorientierten =
Index
Server Suche auftritt, tippe ich auf das RecordSet Object.?
Hier was von meinem Code:
<meta http-equiv='Content-Type' content='text/html';
charset='windows-1250'>
....
....
' CodePage einstellen
Session.CodePage = 1250
' Datenbankverbindung
Const strConn = "provider=sqloledb;data source=xxxx;inital
catalog=xxxx;uid=xxxx;pwd=xxxx"
' Connection-Objekt erzeugen
Set objConn = Server.CreateObject("ADODB.Connection")
' Verbindung zur Datenbank herstellen
objConn.Open strConn
' SQL String erzeugen
strSQL = "SELECT * FROM Suchbegriffe WHERE cz_Suchbegriff LIKE
'Predpis' "
' Recordset-Objekt erzeugen
Set objRecordSet = server.createObject("ADODB.recordSet")
' RecordSet laden
objRecordSet.open strSQL, objConn1, 0, 1, 1
' Durchlaufe Recordset
Do While Not objRecordSet.EOF
Response.Write("cz_Suchbegriff: <b>" &
objRecordSet("cz_Suchbegriff") & "</b><br>")
objRecordSet.MoveNext
Loop
' Aufräumen
objRecordSet.close
objConn.close
Set objRecordSet = Nothing
Set objConn1 = Nothing
...
...
CiLocale = "CS"
' Objekt zur Abfrage des Index-Servers
set Q = Server.CreateObject("ixsso.Query")
' Bietet Möglichkeit zu Einschränkungen der Suche auf bestimmte
Ordner und Festlegung der Sprache
set util = Server.CreateObject("ixsso.Util")
=09
' Query setzen
Q.Query = searchQuery
=09
' Katalog setzen
Q.Catalog = SearchCatalog
=09
' Spracheinstellungen setzen
Q.LocaleID = util.ISOToLocaleID(CiLocale)
Habe also CodePage auf 1250 gesetzt, die LocaleID auf 1029, und im =
http-head
das charset auf 1252. Mir fällt sonst nichts mehr ein.
Vielen Dank
Jens