problemsolver
Goto Top

Dickes Problem mit MySQL und PHPMyAdmin. Abfragen auf Tabellen mit Umlauten beim WHERE Kriterium

Ihr meint diese Abfrage birgt kein Problem - dann bitte eintreten face-smile !! SELECT * FROM `test` WHERE `testfeld` LIKE '%ü%'

Hallo zusammen,

so langsam verzweifle ich.
Anfangs hatte ich das Problem, dass Formulareingaben, die ich über PHP verarbeitet und dann in die Datenbank geschrieben habe, auf Grund des verwendeten Zeichensatzes verstümmelt wurden. Das habe ich durch ein anpassen des Zeichensatzes nach UTF-8 gelöst.

Jetzt möchte ich auch gerne nach Inhalten in meiner Datenbank filtern. Dabei ist mir aufgefallen, dass wahrscheinlich MySQL oder PHPMyAdmin wohl ein Problem hat, oder ich hier etwas falsch verstehe.

Folgende Abfrage gibt IMMER JEGLICHE Datensätze der Tabelle "test" aus.
SELECT * FROM `test` WHERE `testfeld` LIKE '%ü%'  
Anscheinend wird das ü entweder als Asterisk behandelt oder MYSQL macht hier ein ... '%u%' daraus...???

Nachfolgend ein DUMP der Tabelle, wo ihr sehen könnt, dass lediglich ein Datensatz ausgegeben werden dürfte!
Wer kann mir das Problem bei seiner eigenen Konfiguration bestätigen oder sogar die Lösung für dieses Problem geben? Ich möchte gerne auch nach Umlauten filtern / suchen können...

Gruß

Markus

DUMP:
-- phpMyAdmin SQL Dump
-- version 2.11.6
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 02. September 2008 um 15:11
-- Server Version: 5.0.51
-- PHP-Version: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";  

--
-- Datenbank: `projektdb`
--

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `test`
--

CREATE TABLE `test` (
  `testfeld` text collate utf8_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Daten für Tabelle `test`
--

INSERT INTO `test` (`testfeld`) VALUES
('Datenöbernähme mit Ö und Ä'),  
('Schlümmeräsch mit Ü und Ä');  

Content-ID: 95909

Url: https://administrator.de/forum/dickes-problem-mit-mysql-und-phpmyadmin-abfragen-auf-tabellen-mit-umlauten-beim-where-kriterium-95909.html

Ausgedruckt am: 25.12.2024 um 13:12 Uhr

Biber
Biber 02.09.2008 um 15:22:37 Uhr
Goto Top
Moin problemsolver,

richtiger wäre gewesen:
CHARACTER SET latin1 COLLATE latin1_german2_ci;

Vergleiche die Beispiele auf
9.1.5.6. Examples of the Effect of Collation (in der mySQL-Referenz)

Mit dem von Dir gewählten Zeichensatz ist es wirklich so:
...oder MYSQL macht hier ein ... '%u%' daraus...???

Grüße
Biber
problemsolver
problemsolver 02.09.2008 um 15:35:56 Uhr
Goto Top
@Biber: Jetzt festhalten. Volle Breitseite Schleim im Anmarsch face-wink
Mannomann... du bist und bleibst einfach n kleiner großer Gott!

*Damn* Ich zerbrech mir hier den Kopf... Hämmer hier massig und heftigsterweise Codezeilen durch meinen Editor, lass meinen Server schwitzen und komme einfach nicht drauf, woran es liegen könnte. face-sad

Einmal gepostet... Biber hilft. SUPER! VIELEN VIELEN DANK! Wieder einmal...

Lieben Gruß

Markus