MySQL - Umlaute werden nicht angezeigt.

  • #1
C

Ciryx

Bekanntes Mitglied
Themenersteller
Dabei seit
07.01.2004
Beiträge
135
Reaktionspunkte
0
Ort
Zürich
Mosche...

Ich speichere mit einem Formular Daten in eine MySQL Datenbank. Wenn ich aber ä, ö oder ü's verwende, werden diese nicht wie gewünscht gespeichert. Stattdessen werden solche (oder ähnliche) Zeichen verwendet: ö

Kennt jemand dieses Problem?

MySQL Dump:
Code:
-- phpMyAdmin SQL Dump
-- version 2.11.0
-- [url]http://www.phpmyadmin.net[/url]
--
-- Host: localhost
-- Erstellungszeit: 30. Dezember 2007 um 13:11
-- Server Version: 4.1.22
-- PHP-Version: 5.2.4

SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO;

--
-- Datenbank: `db`
--

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

--
-- Tabellenstruktur für Tabelle `musterformular`
--

CREATE TABLE IF NOT EXISTS `musterformular` (
 `id` int(5) NOT NULL auto_increment,
 `vorname` varchar(50) NOT NULL default->',
 `name` varchar(50) NOT NULL default->',
 `strasse` varchar(70) NOT NULL default->',
 `hausnummer` varchar(5) NOT NULL default->',
 `plz` int(4) NOT NULL default->0',
 `ort` varchar(30) NOT NULL default->',
 `telefon` varchar(20) NOT NULL default->',
 `email` varchar(30) NOT NULL default->',
 `homepage` varchar(100) NOT NULL default->',
 `bild_1` varchar(50) NOT NULL default->',
 `bild_2` varchar(50) NOT NULL default->',
 `text` text NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=61 ;

--
 
  • #2
Hi,

Code:
DEFAULT CHARSET=utf8

ich glaub' so ist's besser...

Gruß
Sven
 
  • #3
PCDSven,

Nein... Leider funktioniert dein Vorschlag auch nicht.

MySQL Dump:
Code:
CREATE TABLE IF NOT EXISTS `musterformular` (
 `id` int(5) NOT NULL auto_increment,
 `vorname` varchar(50) NOT NULL default->',
 `name` varchar(50) NOT NULL default->',
 `strasse` varchar(70) NOT NULL default->',
 `hausnummer` varchar(5) NOT NULL default->',
 `plz` int(4) NOT NULL default->0',
 `ort` varchar(30) NOT NULL default->',
 `telefon` varchar(20) NOT NULL default->',
 `email` varchar(30) NOT NULL default->',
 `homepage` varchar(100) NOT NULL default->',
 `bild_1` varchar(50) NOT NULL default->',
 `bild_2` varchar(50) NOT NULL default->',
 `text` text NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=64 ;

Einziger Meta Tag den ich verwende:
Code:
<meta http-equiv=Content-Type content=text/html; charset=utf-8 />
 
  • #4
Ok habe den Fehler gefunden. Es lag an meinem Metatag.

Ich musste ihn ändern auf:
Code:
<meta http-equiv=Content-Type content=text/html; charset=ISO-8859-1>

Zusätzlich habe ich im Netz eine unheimlich gute Funktion gefunden, welche Sonderzeichen in HTML Code umwandelt:
Code:
<?php
function change($str) 
{
	$translation_table = get_html_translation_table(HTML_ENTITIES);
	return strtr($str, $translation_table);
}
?>
 
  • #5
Hatte heute selber mal gesucht und bin fündig geworden. Im Mozilla geht es ganz einfach: Ansicht-Zeichenkodierung-Automatisch bestimmen auf Universell setzen- und Westlich (WINDOWS - 1252) setzen, nicht Westlich (ISO-8859-1). Da wurde ich afgefordert, die Seite neu zu laden und siehe da, die Umlaute sind wieder zu lesen. ::) ::)
 
Thema:

MySQL - Umlaute werden nicht angezeigt.

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben