Seite 1 von 1
ß und ss
Verfasst: 31.01.2007 17:56
von mandi0815
Hallo phpBB Forum !
Ich habe die Version 2.0.22 mit MSSQL 2005 laufen.
Bin sehr zufrieden damit doch leider habe ich einen
lästigen Fehler bei dem ich einfach nicht weiterweis.
Vielleicht kann mir hier jemand helfen.
Fehlerbeschreibung:
Wenn ich ein Posting schreibe wo zB. das Wort passt vorkommt
und anschließend ein weiteres Posting schreibe wo ich paßt schreibe
bekomme ich eine Fehlermeldung weil er das Wort nicht in die Tabelle
phpbb_search_wordlist schreiben kann.
Das passiert bei jedem Wort mit ss und ß.
Kommt mir jetzt bitte nicht damit das ich eben "passt" immer richtig
schreiben muß.
Danke für die Tipps im voraus
Mandi
Verfasst: 31.01.2007 18:07
von MTV-King
gilt das allgemein für ein ß, oder nur für ß, wo eigentlich ein ss hinmüsste? wenn das 1. gilt, dann wäre das ja schon sehr komisch.
Verfasst: 31.01.2007 18:49
von Miriam
Wie steht denn das Wort dann in der DB drin?
Verfasst: 31.01.2007 18:49
von miccom
Eine genaue Fehlermeldung wäre hilfreich.
Verfasst: 01.02.2007 07:17
von mandi0815
Hier die Fehlermeldungen mit dem test:
Erstes Posting: tesst
Zweites Posting: teßt
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Ein doppelter Schlüssel wurde ignoriert., SQL state 23000 in SQLExecDirect in C:\Programme\xampp\htdocs\forum\db\mssql-odbc.php on line 154
Warning: Cannot modify header information - headers already sent by (output started at C:\Programme\xampp\htdocs\forum\db\mssql-odbc.php:154) in C:\Programme\xampp\htdocs\forum\includes\page_header.php on line 483
Warning: Cannot modify header information - headers already sent by (output started at C:\Programme\xampp\htdocs\forum\db\mssql-odbc.php:154) in C:\Programme\xampp\htdocs\forum\includes\page_header.php on line 485
Warning: Cannot modify header information - headers already sent by (output started at C:\Programme\xampp\htdocs\forum\db\mssql-odbc.php:154) in C:\Programme\xampp\htdocs\forum\includes\page_header.php on line 486
SQL Error : 23000 [Microsoft][ODBC SQL Server Driver][SQL Server]Ein doppelter Schlüssel wurde ignoriert.
INSERT INTO phpbb_search_wordlist (word_text, word_common) SELECT 'teßt', 0
Line : 234
File : functions_search.php
Verfasst: 01.02.2007 13:14
von Xwitz
@ mandi0815, es sieht so aus, als ob irgendwo das ß in ss umgewandelt wird (erst in der Datenbank, beim Eintrag des Wortes) an anderer Stelle aber nicht (bei der vorherigen Suche ob es schon vorhanden ist).
Als Abhilfe könnte folgendes funktionieren, sauber ist das aber vermutlich nicht.
in der functions_search.php
in Zeile 24
in Zeile 25
Dann werden alles ß vor der Überprüfung ob das wort schon in der Suchtabelle vorhanden ist in ss umgewandelt. Die Suchfunktion sollte trotzdem funktionieren, ob das highlighting bei ß dann auch noch geht weiß ich aber nicht.
EDIT: Keine Sorge, auf den Text im Posting hat das keinen Einfluß /EDIT
MTV-King hat geschrieben:gilt das allgemein für ein ß, oder nur für ß, wo eigentlich ein ss hinmüsste? wenn das 1. gilt, dann wäre das ja schon sehr komisch.
Ne, letzteres wäre sehr komisch, dann würde das Forum die Rechtschreibung kennen.
Verfasst: 01.02.2007 15:19
von mandi0815
Hat geklappt schönen Dank
Muss aber definitiv am MSSQL2005 Server liegen.
Wenn ich das ganze direkt auf der Datenbank mache passiert das Gleiche.
Kann es vielleicht daran liegen das ich am Server eine falsche
Sprache eingestellt habe?
Serversortierung: Latin1_General_CI_AS
Vielleicht fällt dir dazu noch was ein auf jeden Fall
nochmals vielen Dank.
Verfasst: 01.02.2007 18:37
von Xwitz
mandi0815 hat geschrieben:Kann es vielleicht daran liegen das ich am Server eine falsche
Sprache eingestellt habe?
Kann sein, ich habe davon eigentlich keine Ahnung, ich habe nur auf die Symptome geschaut. Besser wäre es, wenn es auch ohne das Ersetzen laufen würde. Vielleicht haben noch viel mehr das Problem, merken es nur nicht, weil bei "normalem" MySQL mit INSERT IGNOR gearbeitet wird bei odbc aber ohne IGNORE.
Verfasst: 01.02.2007 18:55
von Miriam
Vllt reicht es, den Query etwas anzupassen. Also von INSERT INTO in REPLACE INTO (wenn MSSQL IGNORE nicht kennen sollte).
Verfasst: 02.02.2007 13:30
von mandi0815
Habe jetzt die Lösung
Auf der Spalte word_text gehört Sortierreihenfolge
LATIN1_GENERAL_BIN eingestellt und die Änderungen in der functions_search.php
Zeile 24 und 25 zurückgenommen
dann funktioniert alles problemlos.
Danke nochmal für eure Tipps.