kan inte söka efter exakta ord som innehåller åäö

Java

2 svar · 483 visningar · startad av jme

Medlem sedan maj 20012 237 inlägg
Trådstart#1

Hej!

Har följande problem:

fungerar inte:


String query = "SELECT * FROM dictionary WHERE word = ?"; 
stmt.setString(1, "zää");

fungerar:


String query = "SELECT * FROM dictionary WHERE word = 'zää'";

Varför? Gissar på att det har med teckenkodningen att göra.

Det går bra att lägga till ord med åäö. Jag kan editera poster med åäö. Men jag kan inte söka efter data som innehåller åäö. Inte exakta sökningar.

SELECT * FROM dictionary WHERE word LIKE 'zä%' fungerar dock.

Medlem sedan aug. 20021 752 inlägg
#2

Vad är stmt??
Det här borde fungera,

Connection conn={skapa en databas anslutning}
PreparedStatement ps=conn.prepareStatement("SELECT * FROM dictionary WHERE word like ?");
ps.setString(1,"%åäö%");
ResultSet rs=ps.executeQuery();

/Viktor

Medlem sedan maj 20012 237 inlägg
#3

japp, stmt är en PreparedStatement.

mm, det bör fungera med %åäö%

men om jag har ordet "åäö" så varför hittas inte då det ord med sökningen på "åäö"?

275 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
136 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)