Sie sollten die gleiche Verbindung Codierung als Datenbank verwenden, bevor Ausführen von Abfragen arbeiten isnt.
Wenn Sie mit PDO, stellen nur die Verbindung Codierung als:
$encoding = "utf8"; //replace this value with the character encoding you're using
$pdo = new PDO("mysql:host=host;dbname=my_db;charset=$encoding", $user, $pass);
Wenn Sie mit MYSQLI verwenden mysqli_set_charset
:
$encoding = "utf8"; //Use your encode here
$con = mysqli_connect("host",$user,$pass,"my_db");
mysqli_set_charset($con, $encoding);
Bearbeiten ~
Möglicherweise müssen Sie auch die Accent-insensitive Sortierung (UTF8_GENERAL_CI) in Ihrer Datenbank verwenden. Ich glaube, Ihr Problem bereits in der Post gelöst MySQL charsets and collations: accent insensitive doesn't work
Ja, endlich habe ich, danke :) '$ q1 = mq ($ db2," SELECT * Von Stadt WHERE Titel wie _utf8 '% ka%' sortieren utf8_general_ci ");' Dies alles behoben :) –
Entschuldigung für Doppel Post, aber ich bekomme ein anderes Problem. Wenn ich ka seine Arbeit schreibe, aber wenn ich mehr als 2 Buchstaben schreibe, zeigt es nichts, zum Beispiel "kar" es zeigt nichts, aber wenn "ka" es 2 Aufzeichnungen zeigt, warum ist das? –
Ich muss sagen, es ist ziemlich seltsam. Ich habe keine endgültige Antwort auf dieses Verhalten: vielleicht, weil der Brief mit merkwürdigem Akzent nicht der letzte ist? Versuchen Sie etwas wie% ka% r% und sehen Sie was passiert. – Sylter