<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=94.216.241.119</id>
	<title>Wikizone - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=94.216.241.119"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spezial:Beitr%C3%A4ge/94.216.241.119"/>
	<updated>2026-05-06T14:33:22Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Extensions&amp;diff=18887</id>
		<title>Typo3 - Extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Extensions&amp;diff=18887"/>
		<updated>2011-10-25T13:47:09Z</updated>

		<summary type="html">&lt;p&gt;94.216.241.119: /* weitere nützliche Extensions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideen für neue Extensions und Erweiterungen bestehender Extensions ==&lt;br /&gt;
Extension zur automatischen Erzeugung zweispaltiger Inhalte mit Line Count (auch Umbrüche), Hurenkinder und Schusterjungen regelung etc.&lt;br /&gt;
&lt;br /&gt;
Erweiterung der rg_googlemaps mit Listenansicht nach PLZ&lt;br /&gt;
Händlersuche mit Umkreissuche oder Auflistung nach PLZ bereichen (Erweiterung bestehender)&lt;br /&gt;
&lt;br /&gt;
== Extensions programmieren ==&lt;br /&gt;
Infos hierzu gibt es im Abschnitt Extension Kickstarter und unter&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Extensions programmieren]]&lt;br /&gt;
&lt;br /&gt;
[[TypoScript Einstellungen in Extensions auslagern]]&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
&lt;br /&gt;
=== die wichtigsten Extensions ===&lt;br /&gt;
[[Real URL (realurl)]]&lt;br /&gt;
&lt;br /&gt;
automakeTemplates&lt;br /&gt;
&lt;br /&gt;
[[Metatags extended (metatags)]]&lt;br /&gt;
&lt;br /&gt;
[[News (tt_news)]]&lt;br /&gt;
&lt;br /&gt;
CleanDB  nf_cleandb&lt;br /&gt;
&lt;br /&gt;
[[Database Integration (wfqbe)]]&lt;br /&gt;
Schweizer Taschenmesser zur Integration von Daten (Bugs beachten)&lt;br /&gt;
&lt;br /&gt;
[[Newsletter mit Direct Mail]]&lt;br /&gt;
====SEO-Extensions====&lt;br /&gt;
&lt;br /&gt;
[[Google Analytics (m1_google_analytics)]]&lt;br /&gt;
&lt;br /&gt;
=== weitere nützliche Extensions ===&lt;br /&gt;
WEC Maps - Mapping extension that connects to geocoding databases and Google Maps API.&lt;br /&gt;
http://typo3.org/extensions/repository/view/wec_map/current/&lt;br /&gt;
&lt;br /&gt;
Quick Google Maps&lt;br /&gt;
http://typo3.org/extensions/repository/view/cbgooglemaps/current/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Browser TYPO3 Frontend Engine&lt;br /&gt;
&lt;br /&gt;
Browser - the TYPO3 Frontend Engine - displays content from related tables. You need 1 line typoscript for a result list with a search form, a record browser and an a-z browser. Images are wrapped self-acting. SEO, Search Engine Optimisation. DRS supports&lt;br /&gt;
====SEO====&lt;br /&gt;
&lt;br /&gt;
simplyrobots - robots.txt erzeugen&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Lightbox und Co &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Perfect Lightbox&lt;br /&gt;
&lt;br /&gt;
Clearbox&lt;br /&gt;
&lt;br /&gt;
topup (im Moment keine Extension aber einfach einzubinden: JS einbinden und Rahmen anpassen oder Popup Bild anpassen)&lt;br /&gt;
&lt;br /&gt;
[[ratings - Bewertungen]]&lt;br /&gt;
&lt;br /&gt;
[[t3blog - Blog Extension]]&lt;br /&gt;
&lt;br /&gt;
[[pbsurvey - Umfrage]]&lt;br /&gt;
&lt;br /&gt;
[[tipafriend - Seite weiterempfehlen]]&lt;br /&gt;
&lt;br /&gt;
[[error_404_handling - Seite nicht gefunden]]&lt;br /&gt;
&lt;br /&gt;
[[irfaq - Modern FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[seminars - Kursverwaltung]]&lt;br /&gt;
&lt;br /&gt;
[[tipafriend - Seite an einen Freund versenden]]&lt;br /&gt;
&lt;br /&gt;
mk_wastebasket - Datensätze entgültig löschen&lt;br /&gt;
&lt;br /&gt;
Foreign access for MM Tables  	mmforeign  0.2.0   Experimental&lt;br /&gt;
&lt;br /&gt;
Page Template Selector 	rlmp_tmplselector 	1.2.2 		&lt;br /&gt;
&lt;br /&gt;
TER Update Check 	ter_update_check&lt;br /&gt;
&lt;br /&gt;
Exo Feeds  	exofeeds  	0.0.2	Alpha&lt;br /&gt;
&lt;br /&gt;
freeCap CAPTCHA 	sr_freecap 	&lt;br /&gt;
&lt;br /&gt;
Front End User Registration 	sr_feuser_register 	Stable&lt;br /&gt;
&lt;br /&gt;
Indexed Search Engine 	indexed_search 	2.9.2 	System 	Stable&lt;br /&gt;
&lt;br /&gt;
Language Selection 	sr_language_menu 	&lt;br /&gt;
&lt;br /&gt;
Photo Book 	goof_fotoboek 	1.7.11 	Stable&lt;br /&gt;
&lt;br /&gt;
Local 	Stable&lt;br /&gt;
&lt;br /&gt;
TIMTAB Tag-Cloud 	timtab_tagcloud 1.2.1 			&lt;br /&gt;
&lt;br /&gt;
Make Print Link 	make_printlink 	1.5.2 	Stable&lt;br /&gt;
&lt;br /&gt;
Static Info Tables 	static_info_tables&lt;br /&gt;
&lt;br /&gt;
sb_accessiblecontent&lt;br /&gt;
&lt;br /&gt;
Content/DAM reference usage  	dam_ttcontent (Experimental)&lt;br /&gt;
&lt;br /&gt;
phpmyadmin&lt;br /&gt;
&lt;br /&gt;
DAM inkl Erweiterungen&lt;br /&gt;
&lt;br /&gt;
Media (DAM)  	dam 	Local  	Stable&lt;br /&gt;
&lt;br /&gt;
Media&amp;gt;Categories dam_catedit 	1.0.3 	Local 	Alpha&lt;br /&gt;
&lt;br /&gt;
Media&amp;gt;Indexing 	dam_index 	1.0.3 	Local 	Stable&lt;br /&gt;
&lt;br /&gt;
Media&amp;gt;Info 	dam_info&lt;br /&gt;
&lt;br /&gt;
[[PDF Generator 2 (pdf_generator2)]]&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Bildergallerie]] (lz_gallery)&lt;br /&gt;
&lt;br /&gt;
[[Modern Guestbook (ve_guestbook)]]&lt;br /&gt;
&lt;br /&gt;
[[Mailformplus (tx_mailformplus)]]&lt;br /&gt;
&lt;br /&gt;
[[Send-a-Card (sr_sendcard)]]&lt;br /&gt;
&lt;br /&gt;
[[Front End User Registration (fe_users)]]&lt;br /&gt;
&lt;br /&gt;
[[FreeCap (sr_freecap)]]&lt;br /&gt;
&lt;br /&gt;
[[Date2Calendar (date2cal)]] JavaScript Datumsauswahl für Datumsfelder&lt;br /&gt;
&lt;br /&gt;
[[Dynamic Flexforms (dynaflex)]] Flexforms während der Laufzeit verändern&lt;br /&gt;
&lt;br /&gt;
[[Google Earth links (itxg_gelinks)]] Allows to create and view Google Earth .kml files. The building of a link is being done with GPS coordinates in D-M-S notation.&lt;br /&gt;
&lt;br /&gt;
[[Google Sitemap for Pages and Contents (mc_googlesitemap)]] All options available&lt;br /&gt;
&lt;br /&gt;
== Der Typo3 Extension Kickstarter ==&lt;br /&gt;
(Deutsch: Erweiterungs Manager)&lt;br /&gt;
Der Erweiterungsmanager ist selbst eine Erweiterung die zuerst installiert werden muß.&lt;br /&gt;
&lt;br /&gt;
Fehler in Extension Kickstarter&lt;br /&gt;
&lt;br /&gt;
Wenn der Kickstarter local installiert ist, dann kann meine eine bereits erstelle Extension nicht im Kickstarter überarbeiten. (Bis Version ?)&lt;br /&gt;
&lt;br /&gt;
Der Kickstarter muß global installiert sein, damit man bereits erstellte Extension mit dem Kickstarter überarbeiten kann.&lt;br /&gt;
&lt;br /&gt;
=== Kurzanleitung ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Wo?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Backend-Modul Ext Manager; hier im Dropdown Menü &amp;quot;Make new Extension&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;General Info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allgemeine Infos zum PlugIn (hat nichts mit der Funktion zu tun)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Extension Key&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
- Typo3 entfernt Unterstriche (meine_extension wird zu meineextension)&lt;br /&gt;
&lt;br /&gt;
- tx_ wird automatisch vorangestellt&lt;br /&gt;
&lt;br /&gt;
- ein vorangestelltes user_ bedeutet dass es sich um eine eigene Entwicklung handelt, die nicht in das Repository gestellt werden kann.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;New Database Tables&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier kann man automatisch die benötigten Tabellen und deren Felder erzeugen.&lt;br /&gt;
Üblich ist ein Tabellenname mit dem Suffix _main z.B. user_meineErweiterung_main.&lt;br /&gt;
Hier werden auch einige von Typo unterstützte Funktionen die im Backend als Felder sichtbar sind vorbereitet (z.B. Start, Stop, Hide...). Sinnvoll in diesem Zusammenhang:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Delete*&amp;#039;&amp;#039; - damit die Tabelle ein Delete Flag bekommt&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Hide*&amp;#039;&amp;#039; - damit Datensätze versteckt werden können &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Allowed on Pages&amp;#039;&amp;#039; - Damit Frontend Plugins auch als Inhaltselement im Backend ausgewählt werden können.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Save and new&amp;#039;&amp;#039; - damit können später schnell mehrere Datensätze angelegt werden.&lt;br /&gt;
&lt;br /&gt;
*Damit das bei der Anzeige Funktioniert muß die Funktionalität in der Datenbankabfrage mit eingebaut werden (d.h. das Flag muß abgefragt werden).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Datenfelder der Tabelle&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Hier werden die Spalten der Tabelle angelegt. &lt;br /&gt;
&lt;br /&gt;
Field name - Der Name der Spalte in der DB (in Kleinbuchstaben, z.B. vorname)&lt;br /&gt;
&lt;br /&gt;
Field title - wird im Backend beim Eingabefeld angezeigt (z.B. Vorname)&lt;br /&gt;
&lt;br /&gt;
Field type - welche Art von Eingabefeld&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Frontend Plugins&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Integration ins Frontend&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Enter a title for the plugin&amp;#039;&amp;#039; - taucht in der Auswahlliste für die Plugins aus (Backend)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;USER cObjects are cached&amp;#039;&amp;#039; - Auswählen ob gecached wird (für Entwicklung bietet sich das deaktivieren des Caches an.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;...Typo Script Code...&amp;#039;&amp;#039; - den Beispielcode braucht man i.d.R. nicht, ein einfacher Code wird denoch generiert.&lt;br /&gt;
&lt;br /&gt;
weiter unten kann noch angegeben werden wo das Plugin zugänglich ist.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;View Result&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Hier kann man sehen was erzeugt wird...&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Write&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
... und hier wird es tatsächlich erzeugt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bilder in eigener Extension rendern ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In diesem Beispiel benutzte Variablen:&lt;br /&gt;
 $BildAdresse&lt;br /&gt;
 $ParameterFuerImgTag&lt;br /&gt;
 $Alttext&lt;br /&gt;
&lt;br /&gt;
In PHP-Datei der Extension:&lt;br /&gt;
&lt;br /&gt;
 $this-&amp;gt;conf[&amp;quot;imageBeispiel.&amp;quot;][&amp;quot;file&amp;quot;]=&amp;quot;uploads/pics/&amp;quot;.$BildAdresse;&lt;br /&gt;
 $this-&amp;gt;conf[&amp;quot;imageBeispiel.&amp;quot;][&amp;quot;params&amp;quot;]=$ParameterFuerImgTag;&lt;br /&gt;
 $this-&amp;gt;conf[&amp;quot;imageBeispiel.&amp;quot;][&amp;quot;altText&amp;quot;]=$Alttext;&lt;br /&gt;
 $Bild=$this-&amp;gt;cObj-&amp;gt;IMAGE($this-&amp;gt;conf[&amp;quot;imageBeispiel.&amp;quot;]);&lt;br /&gt;
 $Content.=$Bild;&lt;br /&gt;
&lt;br /&gt;
In Typoscript Setup&lt;br /&gt;
&lt;br /&gt;
 plugin.tx_hoTest_pi1 {     //hier Plugin-Name&lt;br /&gt;
 imageArtikel{&lt;br /&gt;
     file.maxW = {$ho_Test.BildWidthNews}  &lt;br /&gt;
     imageLinkWrap = 1&lt;br /&gt;
     imageLinkWrap {&lt;br /&gt;
       enable = 1&lt;br /&gt;
       bodyTag = &amp;lt;BODY bgColor=white&amp;gt;&lt;br /&gt;
       wrap = |&lt;br /&gt;
       width = 400m&lt;br /&gt;
       height = 400&lt;br /&gt;
       JSwindow = 1&lt;br /&gt;
       JSwindow.newWindow = 1&lt;br /&gt;
       JSwindow.expand = 17,20&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Der Wert {$ho_Test.BildWidthNews} kann aus Constants übernommen werden.&lt;br /&gt;
&lt;br /&gt;
Siehe dazu auch&lt;br /&gt;
Konstanten von Constants im Setup verwenden&lt;br /&gt;
und&lt;br /&gt;
Konstanten für Constant-Editor bereitstellen&lt;br /&gt;
&lt;br /&gt;
(aus www.easy-office4you.de/ 10.1.2006)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spalten der Seiten umbenennen ==&lt;br /&gt;
&lt;br /&gt;
Um die Spalten der Seite im Backend beliebig umzubenennen und/oder zusätzliche eigene Spalten zu verwenden, muß die Extension zed_more_columns installiert werden und dann in der Datei ext_tables.php die Spalten-Namen eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
 $TCA[&amp;quot;tt_content&amp;quot;][&amp;quot;columns&amp;quot;][&amp;quot;colPos&amp;quot;][&amp;quot;config&amp;quot;][&amp;quot;items&amp;quot;] = array (&lt;br /&gt;
 &amp;quot;0&amp;quot; =&amp;gt; array (&amp;quot;Mitte||Mitte||||||||&amp;quot;,&amp;quot;0&amp;quot;),&lt;br /&gt;
 &amp;quot;1&amp;quot; =&amp;gt; array (&amp;quot;Links||Links||||||||&amp;quot;,&amp;quot;1&amp;quot;),&lt;br /&gt;
 &amp;quot;2&amp;quot; =&amp;gt; array (&amp;quot;Rechts||Rechts||||||||&amp;quot;,&amp;quot;2&amp;quot;),&lt;br /&gt;
 &amp;quot;3&amp;quot; =&amp;gt; array (&amp;quot;Teaser||Teaser||||||||&amp;quot;,&amp;quot;3&amp;quot;),&lt;br /&gt;
 &amp;quot;4&amp;quot; =&amp;gt; array (&amp;quot;Fusszeile||Fusszeile||||||||&amp;quot;,&amp;quot;4&amp;quot;)&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
== Bei Extension dafür sorgen, daß im Backend kein Sortierungs-Button entsteht ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In der Datei ext_tables.php der Extension folgende Zeile ändern&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;sortby&amp;quot; =&amp;gt; &amp;quot;name&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
ändern in&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;default_sortby&amp;quot; =&amp;gt; &amp;quot;ORDER BY name&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
Anstatt &amp;quot;name&amp;quot; kann natürlich auch ein anderes Suchkriterium verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Eigene Extensions ==&lt;br /&gt;
[[Typo3 Extension: pupmanager]]&lt;br /&gt;
&lt;br /&gt;
More Pics In A Row&lt;br /&gt;
&lt;br /&gt;
GB More FE Fields  	gb_morefefield&lt;br /&gt;
&lt;br /&gt;
HfWU Studium FE  	hfwustudiumfe&lt;br /&gt;
&lt;br /&gt;
Dekra Certification Database  	gbdekracert&lt;br /&gt;
&lt;br /&gt;
GB Flow Control  	gbflowcontrol&lt;br /&gt;
&lt;br /&gt;
Flowcontrol Extender  	gbflowcontrolext&lt;br /&gt;
&lt;br /&gt;
GB Adress Display  	gbaddress&lt;br /&gt;
&lt;br /&gt;
GB Camp Finder  	gbcamps&lt;br /&gt;
&lt;br /&gt;
Geo-bit Seminars  	gbseminars&lt;br /&gt;
&lt;br /&gt;
 HfWU Dozenten  	hfwudozent&lt;br /&gt;
&lt;br /&gt;
HFWU Events  	hfwu_events&lt;br /&gt;
&lt;br /&gt;
HfWU Personal  	hfwupersonal&lt;br /&gt;
&lt;br /&gt;
HfWU Studium  	hfwustudium&lt;br /&gt;
&lt;br /&gt;
hfwuwebboard  	hfwuwebboard&lt;br /&gt;
&lt;br /&gt;
Job Manager  	gbjobmanager&lt;br /&gt;
&lt;br /&gt;
Events  	gb_events&lt;br /&gt;
&lt;br /&gt;
GB csv Importer  	gbimporter&lt;br /&gt;
&lt;br /&gt;
Geo-bit Typo3 Settings  	[[gbt3settings]]&lt;/div&gt;</summary>
		<author><name>94.216.241.119</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_auf_utf-8_umstellen&amp;diff=18886</id>
		<title>TYPO3 auf utf-8 umstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_auf_utf-8_umstellen&amp;diff=18886"/>
		<updated>2011-10-25T08:19:20Z</updated>

		<summary type="html">&lt;p&gt;94.216.241.119: /* Quickstart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quickstart ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Hinweis zum PHP Skript db_utf8_fix.php ===&lt;br /&gt;
&lt;br /&gt;
In den Tools gibt es ein Skript das in der Regel die Konvertierung gut erledigt. Manchmal gibt es Probleme, es kann z.B. vorkommen, daß die Tabellen zwar auf latin stehen aber die Zeichen trotzdem in utf-8 gespeichert sind. Dann müßte eigentlich kein modify ausgeführt werden, sondern nur ein alter charset. Hinweis darauf ist, wenn nach der Konvertierung Datenfehlen. Und zwar immer ab dem ersten Umlaut o.ä.&lt;br /&gt;
&lt;br /&gt;
=== TYPO3 ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Install Tool „All Configuration“&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[forceCharset] = utf-8&lt;br /&gt;
[setDBinit] = SET NAMES utf8; SET CHARACTER_SET utf8; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
zweiter Teil ist oft nicht notwendig kann aber probiert werden wenn irgendwas nicht klappt.&lt;br /&gt;
 &lt;br /&gt;
Sie müssen im TypoScript übrigens „metaCharset“ und „renderCharset“ nicht setzen, da „forceCharset“ diese beiden Werte automatisch setzt. &lt;br /&gt;
Mit „SET NAMES utf8;&amp;quot; wird MySQL darüber informiert, in welchem Zeichensatz die Daten übermittelt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== mySQL ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Datenbank sichern&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 mysqldump --opt -Q -u USER -p PASSWORT -h HOST DB &amp;gt; dump.sql&lt;br /&gt;
oder im Kompatibilitätsmodus (ohne Kollation) mit&lt;br /&gt;
 --compatible=mysql40&lt;br /&gt;
 Wenn ohne Kompatibilitätsmodus dann Charset und Kollation anpassen. Aus der Zeile &lt;br /&gt;
 ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;&lt;br /&gt;
wird dann z.B.:&lt;br /&gt;
ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;&lt;br /&gt;
&lt;br /&gt;
Nun folgt die Konvertierung des Dumps nach UTF-8. Bitte kopieren Sie sich sicherheitshalber den Dump als Backup an eine sichere Stelle, falls bei irgendwelchen Versuchen etwas fehlschlagen sollte. Auf der Linux-Shell muss nun folgendes eingegeben werden:&lt;br /&gt;
&lt;br /&gt;
SHELL&lt;br /&gt;
iconv -f iso-8859-1 -t utf8 dump.sql &amp;gt; dump-iconv.sql&lt;br /&gt;
Listing 2&lt;br /&gt;
&lt;br /&gt;
Wenn Sie einen anderen Zeichensatz als „ISO 8859-1“ verwendet haben, dann müssen Sie die Angabe hinter dem „-f“ noch anpassen. Der erstellte Dump sollte nun UTF-8-kodiert vorliegen und Sie können diesen schon bald zurücksichern. Doch bevor Sie dies tun, müssen erst die Einträge im Install-Tool von TYPO3 gemacht werden, die auch schon vorher bei der Neuinstallation beschrieben wurden. Sie können dazu das Install-Tool benutzen oder aber auch im Ordner „typo3conf“ die Datei „localconf.php“ um folgende zwei Zeilen ergänzen und anschließend die „temp_CACHED_*“-Dateien löschen:&lt;br /&gt;
&lt;br /&gt;
SHELL&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
Listing 3&lt;br /&gt;
&lt;br /&gt;
TYPO3 verwendet jetzt schon für die Datenbankverbindung und die Ausgabe im Frontend und Backend UTF-8. Da Sie erst jetzt unseren umgewandelten Dump zurückspielen, kann es nicht passieren, dass versehentlich zwei verschiedene Zeichensätze in der Datenbank vorhanden sind (z. B. durch einen Datenbank-Eintrag in den Seitencache, der von einem Besucher der Website erzeugt wurde). Mit der folgenden Zeile wird die Datenbank zurückgesichert:&lt;br /&gt;
&lt;br /&gt;
SHELL&lt;br /&gt;
mysql -u USER -p PASSWORT -h HOST --default-character-set=utf8 DB &amp;lt; dump-iconv.sql&lt;br /&gt;
Listing 4&lt;br /&gt;
&lt;br /&gt;
Mit dem „--default-character-set=UTF8“ wird MySQL mitgeteilt, dass die Daten schon im UTF-8 Format vorliegen. Ohne diese Angabe würde aus „üöä“ „Ã¼Ã¶Ã¤“. Sie sollten nun prüfen, ob alles geklappt hat, indem Sie im Frontend, im Backend sowie mit phpMyAdmin die Umlaute prüfen. Zusätzlich können Sie auch mit dem MySQL-Query-Browser [3] prüfen, ob alles ordnungsgemäß angezeigt wird.&lt;br /&gt;
&lt;br /&gt;
Was tun bei falsch codierten Zeichen?&lt;br /&gt;
&lt;br /&gt;
Wenn bei einer MySQL-4.0-Datenbank im Install-Tool „forceCharset“ auf „utf-8“ gesetzt wurde, übermittelt TYPO3 die Zeichen utf-8-kodiert an die Datenbank. MySQL 4 kann damit allerdings nichts anfangen und speichert diese so, dass weder Suche noch Sortierung innerhalb von MySQL funktionieren. Wenn ein Dump von dieser MySQL-4.0-Datenbank gemacht wird, sind diese Daten schon UTF-8-kodiert und müssen nur noch in eine MySQL-4.1- oder 5.0-Datenbank importiert werden. Der benötigte Befehl ist in Listing 4 zu sehen. Es kommt auch hier wieder vor allem auf die Angabe „--default-character-set=UTF8“ an. Die Kollation der Datenbank muss vor dem Einspielen des Dumps ebenfalls auf „utf8_general_ci“ gesetzt werden. Da TYPO3 in alten Versionen Probleme mit aktuelleren MySQL-Versionen hatte, wird man dies sinnvollerweise nur bei einem Update auf eine neue TYPO3-Version machen. Erst diese bietet die notwendige Einstellung „SET NAMES utf8;“.&lt;br /&gt;
&lt;br /&gt;
Und hiermit wären wir beim nächsten Problem: In alten TYPO3-Versionen gab es die Einstellung „[setDBinit]“ noch nicht und somit konnte „SET NAMES utf8;“ in älteren TYPO3-Versionen ohne Sourcecode-Änderung gar nicht durchgeführt werden. Selbst wenn man eine UTF-8-taugliche Datenbank verwendet hätte, wären falsch kodierte Zeichen die Folge. TYPO3 sendet in diesem Fall UTF-8-kodierte Zeichen zur Datenbank. Diese geht davon aus, es kämen Latin1-kodierte Zeichen und wandelt alle Umlaute erneut um. Somit hätte man nun doppelt kodierte Umlaute. In diesem Fall kann man aber einen Dump mit „iconv“ reparieren, indem man eine Wandlung von UTF nach Latin1 auf der Konsole vornimmt:&lt;br /&gt;
&lt;br /&gt;
Machen Sie ein Backup und löschen Sie dies erst, wenn Sie absolut sicher sind, dass die Umstellung erfolgreich war. Die Einstellung „[multiplyDBfieldSize]“ sollte auf „1“ stehen bleiben. MySQL 4.1 und 5.x benötigen hier keine Änderung. Prüfen Sie außerdem, ob die Version von „mysqldump“ zur MySQL-Server-Version passt. Im schlimmsten Fall können Sie nicht einmal einen Dump erzeugen. Verzichten sollten Sie auf den Einsatz der Extension „convert2utf8“. Diese wandelt nicht alle Datensätze um, wodurch „iconv“ (oder auch alternativ recode) den Dump nicht mehr ohne Fehlermeldungen konvertieren. Eine Umwandlung lässt sich zwar erzwingen, aber ohne 100-prozentige Sicherheit, dass alles geklappt hat.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Artikel aus dem t3n Magazin&lt;br /&gt;
[[http://t3n.de/magazin/mysql-typo3-utf-8-umstellen-tipps-wechsel-latin1-utf-8-220945/]]&lt;br /&gt;
&lt;br /&gt;
Guter Überblick im TYPO3 Wiki&lt;br /&gt;
[[http://wiki.typo3.org/index.php/UTF-8_support]] Der hier vorliegende Text ist eine Übersetzung des dortigen Textes.&lt;br /&gt;
&lt;br /&gt;
== Überblick / Overview ==&lt;br /&gt;
Verarbeitungskette prüfen vhost.conf - php.ini - my.cnf&lt;br /&gt;
&lt;br /&gt;
Wichtige Einstellung die leicht übersehen wird:&lt;br /&gt;
&lt;br /&gt;
Install Tool: Unter „All Configuration“ muss nun „[forceCharset]“ auf „utf-8“ und „[setDBinit]“ den Eintrag „SET NAMES utf8;“ erhalten. Der zusätzliche Eintrag „SET CHARACTER_SET utf8;“, der dem Feld „[setDBinit]“ hinzugefügt werden kann, ist oft nicht notwendig.&lt;br /&gt;
&lt;br /&gt;
=== Verarbeitungskette ===&lt;br /&gt;
Zuerst mal testen ob in der Verarbeitungskette überall utf-8 für die Übertragung von Daten verwendet wird:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Apache: vhost.conf ====&lt;br /&gt;
&lt;br /&gt;
AddDefaultCharset UTF-8&lt;br /&gt;
&lt;br /&gt;
Dies ist für TYPO3 Versionen spätestens ab 4.3 nicht notwendig. Wenn man hier im Install Tool &amp;#039;&amp;#039;[BE][forceCharset]&amp;#039;&amp;#039; gesetzt hat&lt;br /&gt;
&lt;br /&gt;
Kann einfach getestet werden indem man sich die Header Daten einer Seite mit Firebug oder LiveHTTPTracker anschaut. Darin sollte eine Zeile in dieser Art enthalten sein:&lt;br /&gt;
&lt;br /&gt;
 Content-Type: text/html; charset=utf-8&lt;br /&gt;
&lt;br /&gt;
==== PHP: php.ini ====&lt;br /&gt;
 default_charset = &amp;quot;utf-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Mit dieser Einstellung sollten auch standalone Skripte mit dem richtigen Zeichensatz arbeiten. Man kann in den Skripten aber auch &lt;br /&gt;
&lt;br /&gt;
Außerdem sollte mit der Erweiterung mbstring oder iconf gearbeitet werden. Deren Performance ist wesentlich besser als die Umwandlung über den PHP-Code von TYPO3 (s.u.)&lt;br /&gt;
&lt;br /&gt;
==== MySQL: my.cnf ====&lt;br /&gt;
Die folgende Einstellung setzt alle System Variablen für Zeichensätze und Kollationen für den MySQL SERVER. Dies betrifft also auch existierende Datenbanken. Deshalb sollte diese Einstellung nur gesetzt werden wenn ausschließlich mit utf-8 Datenbanken gearbeitet wird.&lt;br /&gt;
&lt;br /&gt;
Man benötigt die Einstellung nicht wenn im Install Tool &amp;#039;&amp;#039;[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;]&amp;#039;&amp;#039;  gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== TYPO3 Einstellungen ===&lt;br /&gt;
&lt;br /&gt;
==== localconf.php ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// For backend charset&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;; &lt;br /&gt;
&lt;br /&gt;
// For GIFBUILDER support&lt;br /&gt;
// Set it to &amp;#039;iconv&amp;#039; or &amp;#039;mbstring&amp;#039;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;t3lib_cs_convMethod&amp;#039;] = &amp;#039;mbstring&amp;#039;;&lt;br /&gt;
// For &amp;#039;iconv&amp;#039; support you need at least PHP 5!&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;t3lib_cs_utils&amp;#039;] = &amp;#039;mbstring&amp;#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweise:&lt;br /&gt;
* Wenn die Datenbank auf  UTF-8 gesetzt ist, sollte man &amp;#039;&amp;#039;&amp;#039;nicht die Einstellung $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;multiplyDBfieldSize&amp;#039;] setzen&amp;#039;&amp;#039;&amp;#039;. Diese wird nur benötigt, wenn die Datenbank mit latin 1 arbeitet aber der Inhalt  utf-8 ist. Außerdem führt die Einstellung des öfteren zu Problemen.&lt;br /&gt;
*  $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;; Setzt folgende 3 Einstellungen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 SET character_set_client = utf8; &lt;br /&gt;
 SET character_set_results = utf8; &lt;br /&gt;
 SET character_set_connection = utf8; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wenn &amp;#039;&amp;#039;&amp;#039;in phpMyAdmin Sonderzeichen als 2 seltsame Zeichen&amp;#039;&amp;#039;&amp;#039; angezeigt werden, reicht diese Einstellung nicht. Zuerst müssen die Inhaltstabellen konvertiert werden (oder löschen, umstellen, neu eingeben.&lt;br /&gt;
&lt;br /&gt;
* In &amp;#039;&amp;#039;&amp;#039;manchen Konfigurationen&amp;#039;&amp;#039;&amp;#039; muß man auch noch eine &amp;#039;&amp;#039;&amp;#039;Einstellung für die Sessions&amp;#039;&amp;#039;&amp;#039; machen:&lt;br /&gt;
&lt;br /&gt;
 SET NAMES utf8;&lt;br /&gt;
 SET SESSION character_set_server=utf8;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Benutze niemals SET CHARACTER SET utf8;&amp;#039;&amp;#039;&amp;#039; Dies kann große Probleme im TYPO3 Umfeld erzeugen. Mit der Einstellung SET NAMES hat sich das ohnehin erledigt, weil hier eigentlich die wichtigen Einstellungen gemacht werden&lt;br /&gt;
&lt;br /&gt;
* Wenn [BE][forceCharset] auf utf-8 gesetzt ist (siehe oben), dann wird auch &amp;#039;&amp;#039;config.renderCharset&amp;#039;&amp;#039; und &amp;#039;&amp;#039;config.metaCharset&amp;#039;&amp;#039; per default mit utf-8 arbeiten. Deshalb müssen hier keine Einstellungen mehr gemacht werden.&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
==== RealURL ====&lt;br /&gt;
&lt;br /&gt;
One problem is that RealURL might not be able to understand a page title if it is in unusual (i.e. not Roman) characters. For example, with a page title in Japanese, I found that the title was not interpreted and the page was rendered as jp.html. Using the Navigation title solves this problem (to follow on the example, setting &amp;quot;home&amp;quot; as the Navigation title, my page was then rendered as jp/home.html).&lt;br /&gt;
&lt;br /&gt;
==== TemplaVoila ====&lt;br /&gt;
&lt;br /&gt;
Templates müssen im UTF-8 Format gespeichert werden. Möglicherweise muß neu gemappt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Weitere Hinweise ===&lt;br /&gt;
&lt;br /&gt;
==== Extensions sollten nicht strlen() benutzen====&lt;br /&gt;
Stattdessen sollte die Funktion t3lib_cs benutzt werden.&lt;br /&gt;
&lt;br /&gt;
strlen() doesn&amp;#039;t care for UTF-8. UTF-8 uses 1 to 3 Bytes for one char, so using strlen() will likely lead to wrong results. Extensions should instead use the functions provided in t3lib_cs.&lt;br /&gt;
&lt;br /&gt;
==== Sortierung ====&lt;br /&gt;
It is highly recommended (although not strictly necessary) to use UTF-8 in the database. Otherwise database sorting functions will not work correctly.&lt;br /&gt;
[edit] Problem with indeces&lt;br /&gt;
&lt;br /&gt;
==== Fehlermeldung Specified key was too long bei indizes====&lt;br /&gt;
&lt;br /&gt;
SQL=Specified key was too long; max key length is 1000 bytes:&lt;br /&gt;
&lt;br /&gt;
This particular problem might occur when you are using UTF-8 encoding. UTF-8 uses up to 3 bytes per character, and the maximum index length is 1000 bytes, so the effective maximum index is 1000/3 = 333 characters. Some tables are longer than this, hence the error (many other packages are being bitten by this issue too).&lt;br /&gt;
&lt;br /&gt;
To solve this, simply remove the index from that field and reload.&lt;br /&gt;
&lt;br /&gt;
Note: Using indeces that big anyway is not recommended and shows bad DB design.&lt;br /&gt;
[edit] Convert an already existing database to UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konvertierung einer bestehenden Datenbank ===&lt;br /&gt;
Some links to the conversion topic:&lt;br /&gt;
&lt;br /&gt;
    * http://dev.mysql.com/doc/refman/4.1/en/charset-convert.html (MySQL based conversion)&lt;br /&gt;
    * http://www.typo3-media.com/blog/article/utf8-and-typo3-updated.html&lt;br /&gt;
    * http://m.tacker.org/blog/64.script-to-convert-wordpress-content-encoding.html (useful PHP script to convert charsets) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[edit] Possibility 1&lt;br /&gt;
Note 	This has been tested and works!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jigal van Hemert wrote a script, which can convert your database to utf-8. He offers it for download here: [[http://www.xs4all.nl/~dcbjht/typo3/db_utf8_fix.zip]] . This script converts all columns, tables and finally the setting for the whole database to utf-8.&lt;br /&gt;
&lt;br /&gt;
Jigal writes:&lt;br /&gt;
&lt;br /&gt;
Read the following very carefully, because you have to make a few adjustments depending on the situation!&lt;br /&gt;
&lt;br /&gt;
    * Make a backup of your database before you do such a conversion. &lt;br /&gt;
&lt;br /&gt;
    * The script was meant for the situation where utf-8 encoded data was stored in latin-1 (or other charsets) tables. This was very common in 2008. You can recognize this by looking in PHPmyAdmin and you find that characters with accents (diacriticals) are shown as weird double-character combinations:&lt;br /&gt;
      Instead of &amp;quot;Ali Gökgöz and Gültekin Tarcan&amp;quot; it shows as &amp;quot;Ali GÃ¶kgÃ¶z and GÃ¼ltekin Tarcan&amp;quot;.&lt;br /&gt;
      If this is *not* the case in your situation, turn lines 97 - 107 into comments by putting // in front of them. &lt;br /&gt;
&lt;br /&gt;
    * In line 19 of the script it says define(&amp;quot;SIMULATE&amp;quot;, TRUE); This makes sure that the tables are not really converted, it&amp;#039;s just a practice run; a simulation. After you executed the script at least once and there are no errors you can turn this into define(&amp;quot;SIMULATE&amp;quot;, FALSE); to do the conversion for real. &lt;br /&gt;
&lt;br /&gt;
    * Put the script in a subdirectory of the TYPO3 installation, for example inside &amp;#039;fileadmin&amp;#039;. It is designed to run from a subdirectory so it can pick up the database connection data from localconf.php. &lt;br /&gt;
&lt;br /&gt;
    * Run the script from your browser: http://domain.ext/fileadmin/db_utf8_fix.php It shows each table it found and after the name of a table a dot for each column it has converted. &lt;br /&gt;
&lt;br /&gt;
    * It really doesn&amp;#039;t matter if there are columns/tables already in utf-8 format. &lt;br /&gt;
&lt;br /&gt;
 Settings in TYPO3 &lt;br /&gt;
&lt;br /&gt;
Furthermore, if you use the following settings in the Install Tool you should have a UTF-8 installation:&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 Possibility 2&lt;br /&gt;
&lt;br /&gt;
Dump your database, modifiy the dumped file and import it again.&lt;br /&gt;
Note 	If you do it that way, setting [&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] might cause broken special chars inside TYPO3. See below for more information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Requirements:&lt;br /&gt;
&lt;br /&gt;
    * Shell access to your unix based server&lt;br /&gt;
    * &amp;quot;Sed&amp;quot; package installed on the server &lt;br /&gt;
&lt;br /&gt;
For this example we assume:&lt;br /&gt;
&lt;br /&gt;
    * hostname: domain.com&lt;br /&gt;
    * database: typo3 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This example is for linux users. If your PC uses Windows, you can do the same using putty.exe. Enter the hostname in the field &amp;quot;Host Name (or IP adress)&amp;quot; and click on &amp;quot;Open&amp;quot;. Then enter your ssh username, press enter and enter the password (which will not be displayed) and press enter. Then you are connected to the server.&lt;br /&gt;
&lt;br /&gt;
Linux users connect to the server via ssh typing&lt;br /&gt;
&lt;br /&gt;
ssh -l (user) domain.com&lt;br /&gt;
&lt;br /&gt;
Create a backup of the database (for security reasons if things go wrong...)&lt;br /&gt;
&lt;br /&gt;
mysqldump -u (user) -p(pass) --max_allowed_packet=10000000 typo3 &amp;gt; typo3_backup.sql&lt;br /&gt;
&lt;br /&gt;
Dump database (without table typo3.sys_refindex. This prevents the following error: SQL=Specified key was too long; max key length is 1000 bytes. You have to rebuild the reference index afterwards!)&lt;br /&gt;
&lt;br /&gt;
mysqldump -u (user) -p(pass) --max_allowed_packet=10000000 --ignore-table=typo3.sys_refindex  typo3  &amp;gt; typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Now modifiy the dump: Newer versions of MySQL (at least 5.0) also save the collation for each column seperately. You have to convert all of them:&lt;br /&gt;
&lt;br /&gt;
First convert all occurences of &amp;quot;DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci&amp;quot; (use the character set which you have written in your file) in typo3_utf8.sql to &amp;quot;DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
sed  -e &amp;#039;s/DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci/DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci/g&amp;#039; -i typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Then convert all occurences of &amp;quot;COLLATE latin1_german1_ci&amp;quot; (use the charset you have written in your file) to &amp;quot;COLLATE utf8_general_ci&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
sed  -e &amp;#039;s/COLLATE latin1_german1_ci/COLLATE utf8_general_ci/g&amp;#039; -i typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Import database&lt;br /&gt;
&lt;br /&gt;
mysql -u (user) -p(pass) --default-character-set=utf8  typo3 &amp;lt; typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Alter character set and collation for the whole database&lt;br /&gt;
&lt;br /&gt;
mysql -u (user) -p(pass) -e &amp;quot;ALTER DATABASE typo3 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[edit] Settings in TYPO3&lt;br /&gt;
&lt;br /&gt;
Furthermore, if you use the following settings in the Install Tool you should have a UTF-8 installation:&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
[edit] Broken special chars?&lt;br /&gt;
&lt;br /&gt;
If the result of the above mentioned is that special chars are displayed incorrectly in TYPO3 (a small black box with a question mark in it instead of the special char), the following might help:&lt;br /&gt;
&lt;br /&gt;
Create a new database. Make sure that it uses utf8 as default charset and utf8_general_ci as collation:&lt;br /&gt;
&lt;br /&gt;
mysql -user (user) -password(password) -e &amp;quot;ALTER DATABASE (new-db) DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Then import the dump into that database without using sed to replace the occurences of latin1 (or what you have) with utf8.&lt;br /&gt;
&lt;br /&gt;
The result will be that the tables and columns in your database still use latin1 (or what you had before).&lt;br /&gt;
&lt;br /&gt;
This might be a problem, e.g. when you now add new tables to this database, they will use utf8 as charset, because the database is set to utf8. This will lead to a mix of both charsets in your DB.&lt;br /&gt;
[edit] Possibility 3&lt;br /&gt;
&lt;br /&gt;
This might be the way to go for german speaking users with a Unix server:&lt;br /&gt;
&lt;br /&gt;
A way similar to possibility 2 is recommended by t3n (german).&lt;br /&gt;
&lt;br /&gt;
Basically they make the dump and replace the charset and collation statements.&lt;br /&gt;
&lt;br /&gt;
Then they use iconv on the dumped file to convert the signs inside:&lt;br /&gt;
&lt;br /&gt;
iconv -f iso-8859-1 -t utf8 dump.sql &amp;gt; dump-iconv.sql&lt;br /&gt;
&lt;br /&gt;
After that they import the file using the switch --default-character-set=utf8:&lt;br /&gt;
&lt;br /&gt;
mysql -u USER -p PASSWORT -h HOST --default-character-set=utf8 DB &amp;lt; dump-iconv.sql&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note 	If you did that and get umlauts displayed correctly, but ß and € displayed wrong inside TYPO3, you should use CP1252 in the iconv command as origin charset like that:&lt;br /&gt;
&lt;br /&gt;
iconv -f CP1252 -t utf8 dump.sql &amp;gt; dump-iconv.sql&lt;br /&gt;
&lt;br /&gt;
=== Filesystem ===&lt;br /&gt;
&lt;br /&gt;
When setting [BE][forceCharset] all files in the TYPO3 root folder and below are handled as UTF-8 files by TYPO3; so you should make sure that they really are. You should e.g. check your HTML-Templates and CSS files for special chars like umlauts. If they are displayed incorrectly, you should fix that by saving the file in UTF-8 format.&lt;br /&gt;
&lt;br /&gt;
When editing such files only use editors which can save files in UTF-8 format. That is any editor on Linux and e.g. Notepad++ if you use Windows.&lt;br /&gt;
&lt;br /&gt;
Attention: Do not save the files in UTF-8 format with Byte Order Mark (BOM). Saving them as UTF-8 with BOM can cause problems, e.g. thumbnails in the BE will no longer be shown. Save the files in ANSI format (as UTF-8 without BOM) instead.&lt;br /&gt;
[edit] t3lib_cs&lt;br /&gt;
&lt;br /&gt;
Developers: Use these functions e.g. to get the length of a string. strlen doesn&amp;#039;t get the correct string-length, because the chars of UTF-8 can have 1...3 Bytes.&lt;br /&gt;
&lt;br /&gt;
In PHP 5.3 PECL/intl will be available, so maybe the TYPO3 Core-Developers switch to this.&lt;br /&gt;
[edit] Use unicode fonts&lt;br /&gt;
&lt;br /&gt;
If you use Gifbuilder to create some lines of text (e.g. in a menu) make sure that the font file you use is unicode. More info here.&lt;br /&gt;
&lt;br /&gt;
If there still are problems with broken special chars in these images, you should make sure that the configuration for mb_string or iconv (the one which you set in the Install Tool) is set to UTF-8. You can check that in phpinfo() and correct the settings in php.ini or .htaccess, if needed.&lt;br /&gt;
[edit] HTML Tidy&lt;br /&gt;
&lt;br /&gt;
If you are having problems with html entities like &amp;amp;nbsp; shown as ? in the browser, add the -utf8 option to the HTML tidy_path variable in the install tool, e.g.&lt;br /&gt;
&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;#039;FE&amp;#039;][&amp;#039;tidy_path&amp;#039;] = &amp;#039;tidy -i --quiet true --tidy-mark true -wrap 0 -raw --output-xhtml true -utf8&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== External links ====&lt;br /&gt;
&lt;br /&gt;
    * http://dev.mysql.com/doc/refman/5.0/en/charset.html&lt;br /&gt;
    * http://en.opensuse.org/SDB%3AConverting_Files_or_File_Names_to_UTF-8_Encoding&lt;br /&gt;
    * How to change the encoding like iso-8859-1, iso-8859-15, utf-8 of files: http://linuxwiki.de/tcs (just in german in the moment)&lt;/div&gt;</summary>
		<author><name>94.216.241.119</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_auf_utf-8_umstellen&amp;diff=18885</id>
		<title>TYPO3 auf utf-8 umstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_auf_utf-8_umstellen&amp;diff=18885"/>
		<updated>2011-10-25T08:16:34Z</updated>

		<summary type="html">&lt;p&gt;94.216.241.119: /* mySQL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quickstart ==&lt;br /&gt;
=== TYPO3 ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Install Tool „All Configuration“&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[forceCharset] = utf-8&lt;br /&gt;
[setDBinit] = SET NAMES utf8; SET CHARACTER_SET utf8; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
zweiter Teil ist oft nicht notwendig kann aber probiert werden wenn irgendwas nicht klappt.&lt;br /&gt;
 &lt;br /&gt;
Sie müssen im TypoScript übrigens „metaCharset“ und „renderCharset“ nicht setzen, da „forceCharset“ diese beiden Werte automatisch setzt. &lt;br /&gt;
Mit „SET NAMES utf8;&amp;quot; wird MySQL darüber informiert, in welchem Zeichensatz die Daten übermittelt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== mySQL ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Datenbank sichern&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 mysqldump --opt -Q -u USER -p PASSWORT -h HOST DB &amp;gt; dump.sql&lt;br /&gt;
oder im Kompatibilitätsmodus (ohne Kollation) mit&lt;br /&gt;
 --compatible=mysql40&lt;br /&gt;
 Wenn ohne Kompatibilitätsmodus dann Charset und Kollation anpassen. Aus der Zeile &lt;br /&gt;
 ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;&lt;br /&gt;
wird dann z.B.:&lt;br /&gt;
ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;&lt;br /&gt;
&lt;br /&gt;
Nun folgt die Konvertierung des Dumps nach UTF-8. Bitte kopieren Sie sich sicherheitshalber den Dump als Backup an eine sichere Stelle, falls bei irgendwelchen Versuchen etwas fehlschlagen sollte. Auf der Linux-Shell muss nun folgendes eingegeben werden:&lt;br /&gt;
&lt;br /&gt;
SHELL&lt;br /&gt;
iconv -f iso-8859-1 -t utf8 dump.sql &amp;gt; dump-iconv.sql&lt;br /&gt;
Listing 2&lt;br /&gt;
&lt;br /&gt;
Wenn Sie einen anderen Zeichensatz als „ISO 8859-1“ verwendet haben, dann müssen Sie die Angabe hinter dem „-f“ noch anpassen. Der erstellte Dump sollte nun UTF-8-kodiert vorliegen und Sie können diesen schon bald zurücksichern. Doch bevor Sie dies tun, müssen erst die Einträge im Install-Tool von TYPO3 gemacht werden, die auch schon vorher bei der Neuinstallation beschrieben wurden. Sie können dazu das Install-Tool benutzen oder aber auch im Ordner „typo3conf“ die Datei „localconf.php“ um folgende zwei Zeilen ergänzen und anschließend die „temp_CACHED_*“-Dateien löschen:&lt;br /&gt;
&lt;br /&gt;
SHELL&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
Listing 3&lt;br /&gt;
&lt;br /&gt;
TYPO3 verwendet jetzt schon für die Datenbankverbindung und die Ausgabe im Frontend und Backend UTF-8. Da Sie erst jetzt unseren umgewandelten Dump zurückspielen, kann es nicht passieren, dass versehentlich zwei verschiedene Zeichensätze in der Datenbank vorhanden sind (z. B. durch einen Datenbank-Eintrag in den Seitencache, der von einem Besucher der Website erzeugt wurde). Mit der folgenden Zeile wird die Datenbank zurückgesichert:&lt;br /&gt;
&lt;br /&gt;
SHELL&lt;br /&gt;
mysql -u USER -p PASSWORT -h HOST --default-character-set=utf8 DB &amp;lt; dump-iconv.sql&lt;br /&gt;
Listing 4&lt;br /&gt;
&lt;br /&gt;
Mit dem „--default-character-set=UTF8“ wird MySQL mitgeteilt, dass die Daten schon im UTF-8 Format vorliegen. Ohne diese Angabe würde aus „üöä“ „Ã¼Ã¶Ã¤“. Sie sollten nun prüfen, ob alles geklappt hat, indem Sie im Frontend, im Backend sowie mit phpMyAdmin die Umlaute prüfen. Zusätzlich können Sie auch mit dem MySQL-Query-Browser [3] prüfen, ob alles ordnungsgemäß angezeigt wird.&lt;br /&gt;
&lt;br /&gt;
Was tun bei falsch codierten Zeichen?&lt;br /&gt;
&lt;br /&gt;
Wenn bei einer MySQL-4.0-Datenbank im Install-Tool „forceCharset“ auf „utf-8“ gesetzt wurde, übermittelt TYPO3 die Zeichen utf-8-kodiert an die Datenbank. MySQL 4 kann damit allerdings nichts anfangen und speichert diese so, dass weder Suche noch Sortierung innerhalb von MySQL funktionieren. Wenn ein Dump von dieser MySQL-4.0-Datenbank gemacht wird, sind diese Daten schon UTF-8-kodiert und müssen nur noch in eine MySQL-4.1- oder 5.0-Datenbank importiert werden. Der benötigte Befehl ist in Listing 4 zu sehen. Es kommt auch hier wieder vor allem auf die Angabe „--default-character-set=UTF8“ an. Die Kollation der Datenbank muss vor dem Einspielen des Dumps ebenfalls auf „utf8_general_ci“ gesetzt werden. Da TYPO3 in alten Versionen Probleme mit aktuelleren MySQL-Versionen hatte, wird man dies sinnvollerweise nur bei einem Update auf eine neue TYPO3-Version machen. Erst diese bietet die notwendige Einstellung „SET NAMES utf8;“.&lt;br /&gt;
&lt;br /&gt;
Und hiermit wären wir beim nächsten Problem: In alten TYPO3-Versionen gab es die Einstellung „[setDBinit]“ noch nicht und somit konnte „SET NAMES utf8;“ in älteren TYPO3-Versionen ohne Sourcecode-Änderung gar nicht durchgeführt werden. Selbst wenn man eine UTF-8-taugliche Datenbank verwendet hätte, wären falsch kodierte Zeichen die Folge. TYPO3 sendet in diesem Fall UTF-8-kodierte Zeichen zur Datenbank. Diese geht davon aus, es kämen Latin1-kodierte Zeichen und wandelt alle Umlaute erneut um. Somit hätte man nun doppelt kodierte Umlaute. In diesem Fall kann man aber einen Dump mit „iconv“ reparieren, indem man eine Wandlung von UTF nach Latin1 auf der Konsole vornimmt:&lt;br /&gt;
&lt;br /&gt;
Machen Sie ein Backup und löschen Sie dies erst, wenn Sie absolut sicher sind, dass die Umstellung erfolgreich war. Die Einstellung „[multiplyDBfieldSize]“ sollte auf „1“ stehen bleiben. MySQL 4.1 und 5.x benötigen hier keine Änderung. Prüfen Sie außerdem, ob die Version von „mysqldump“ zur MySQL-Server-Version passt. Im schlimmsten Fall können Sie nicht einmal einen Dump erzeugen. Verzichten sollten Sie auf den Einsatz der Extension „convert2utf8“. Diese wandelt nicht alle Datensätze um, wodurch „iconv“ (oder auch alternativ recode) den Dump nicht mehr ohne Fehlermeldungen konvertieren. Eine Umwandlung lässt sich zwar erzwingen, aber ohne 100-prozentige Sicherheit, dass alles geklappt hat.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Artikel aus dem t3n Magazin&lt;br /&gt;
[[http://t3n.de/magazin/mysql-typo3-utf-8-umstellen-tipps-wechsel-latin1-utf-8-220945/]]&lt;br /&gt;
&lt;br /&gt;
Guter Überblick im TYPO3 Wiki&lt;br /&gt;
[[http://wiki.typo3.org/index.php/UTF-8_support]] Der hier vorliegende Text ist eine Übersetzung des dortigen Textes.&lt;br /&gt;
&lt;br /&gt;
== Überblick / Overview ==&lt;br /&gt;
Verarbeitungskette prüfen vhost.conf - php.ini - my.cnf&lt;br /&gt;
&lt;br /&gt;
Wichtige Einstellung die leicht übersehen wird:&lt;br /&gt;
&lt;br /&gt;
Install Tool: Unter „All Configuration“ muss nun „[forceCharset]“ auf „utf-8“ und „[setDBinit]“ den Eintrag „SET NAMES utf8;“ erhalten. Der zusätzliche Eintrag „SET CHARACTER_SET utf8;“, der dem Feld „[setDBinit]“ hinzugefügt werden kann, ist oft nicht notwendig.&lt;br /&gt;
&lt;br /&gt;
=== Verarbeitungskette ===&lt;br /&gt;
Zuerst mal testen ob in der Verarbeitungskette überall utf-8 für die Übertragung von Daten verwendet wird:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Apache: vhost.conf ====&lt;br /&gt;
&lt;br /&gt;
AddDefaultCharset UTF-8&lt;br /&gt;
&lt;br /&gt;
Dies ist für TYPO3 Versionen spätestens ab 4.3 nicht notwendig. Wenn man hier im Install Tool &amp;#039;&amp;#039;[BE][forceCharset]&amp;#039;&amp;#039; gesetzt hat&lt;br /&gt;
&lt;br /&gt;
Kann einfach getestet werden indem man sich die Header Daten einer Seite mit Firebug oder LiveHTTPTracker anschaut. Darin sollte eine Zeile in dieser Art enthalten sein:&lt;br /&gt;
&lt;br /&gt;
 Content-Type: text/html; charset=utf-8&lt;br /&gt;
&lt;br /&gt;
==== PHP: php.ini ====&lt;br /&gt;
 default_charset = &amp;quot;utf-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Mit dieser Einstellung sollten auch standalone Skripte mit dem richtigen Zeichensatz arbeiten. Man kann in den Skripten aber auch &lt;br /&gt;
&lt;br /&gt;
Außerdem sollte mit der Erweiterung mbstring oder iconf gearbeitet werden. Deren Performance ist wesentlich besser als die Umwandlung über den PHP-Code von TYPO3 (s.u.)&lt;br /&gt;
&lt;br /&gt;
==== MySQL: my.cnf ====&lt;br /&gt;
Die folgende Einstellung setzt alle System Variablen für Zeichensätze und Kollationen für den MySQL SERVER. Dies betrifft also auch existierende Datenbanken. Deshalb sollte diese Einstellung nur gesetzt werden wenn ausschließlich mit utf-8 Datenbanken gearbeitet wird.&lt;br /&gt;
&lt;br /&gt;
Man benötigt die Einstellung nicht wenn im Install Tool &amp;#039;&amp;#039;[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;]&amp;#039;&amp;#039;  gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== TYPO3 Einstellungen ===&lt;br /&gt;
&lt;br /&gt;
==== localconf.php ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// For backend charset&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;; &lt;br /&gt;
&lt;br /&gt;
// For GIFBUILDER support&lt;br /&gt;
// Set it to &amp;#039;iconv&amp;#039; or &amp;#039;mbstring&amp;#039;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;t3lib_cs_convMethod&amp;#039;] = &amp;#039;mbstring&amp;#039;;&lt;br /&gt;
// For &amp;#039;iconv&amp;#039; support you need at least PHP 5!&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;t3lib_cs_utils&amp;#039;] = &amp;#039;mbstring&amp;#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweise:&lt;br /&gt;
* Wenn die Datenbank auf  UTF-8 gesetzt ist, sollte man &amp;#039;&amp;#039;&amp;#039;nicht die Einstellung $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;multiplyDBfieldSize&amp;#039;] setzen&amp;#039;&amp;#039;&amp;#039;. Diese wird nur benötigt, wenn die Datenbank mit latin 1 arbeitet aber der Inhalt  utf-8 ist. Außerdem führt die Einstellung des öfteren zu Problemen.&lt;br /&gt;
*  $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;; Setzt folgende 3 Einstellungen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 SET character_set_client = utf8; &lt;br /&gt;
 SET character_set_results = utf8; &lt;br /&gt;
 SET character_set_connection = utf8; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wenn &amp;#039;&amp;#039;&amp;#039;in phpMyAdmin Sonderzeichen als 2 seltsame Zeichen&amp;#039;&amp;#039;&amp;#039; angezeigt werden, reicht diese Einstellung nicht. Zuerst müssen die Inhaltstabellen konvertiert werden (oder löschen, umstellen, neu eingeben.&lt;br /&gt;
&lt;br /&gt;
* In &amp;#039;&amp;#039;&amp;#039;manchen Konfigurationen&amp;#039;&amp;#039;&amp;#039; muß man auch noch eine &amp;#039;&amp;#039;&amp;#039;Einstellung für die Sessions&amp;#039;&amp;#039;&amp;#039; machen:&lt;br /&gt;
&lt;br /&gt;
 SET NAMES utf8;&lt;br /&gt;
 SET SESSION character_set_server=utf8;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Benutze niemals SET CHARACTER SET utf8;&amp;#039;&amp;#039;&amp;#039; Dies kann große Probleme im TYPO3 Umfeld erzeugen. Mit der Einstellung SET NAMES hat sich das ohnehin erledigt, weil hier eigentlich die wichtigen Einstellungen gemacht werden&lt;br /&gt;
&lt;br /&gt;
* Wenn [BE][forceCharset] auf utf-8 gesetzt ist (siehe oben), dann wird auch &amp;#039;&amp;#039;config.renderCharset&amp;#039;&amp;#039; und &amp;#039;&amp;#039;config.metaCharset&amp;#039;&amp;#039; per default mit utf-8 arbeiten. Deshalb müssen hier keine Einstellungen mehr gemacht werden.&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
==== RealURL ====&lt;br /&gt;
&lt;br /&gt;
One problem is that RealURL might not be able to understand a page title if it is in unusual (i.e. not Roman) characters. For example, with a page title in Japanese, I found that the title was not interpreted and the page was rendered as jp.html. Using the Navigation title solves this problem (to follow on the example, setting &amp;quot;home&amp;quot; as the Navigation title, my page was then rendered as jp/home.html).&lt;br /&gt;
&lt;br /&gt;
==== TemplaVoila ====&lt;br /&gt;
&lt;br /&gt;
Templates müssen im UTF-8 Format gespeichert werden. Möglicherweise muß neu gemappt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Weitere Hinweise ===&lt;br /&gt;
&lt;br /&gt;
==== Extensions sollten nicht strlen() benutzen====&lt;br /&gt;
Stattdessen sollte die Funktion t3lib_cs benutzt werden.&lt;br /&gt;
&lt;br /&gt;
strlen() doesn&amp;#039;t care for UTF-8. UTF-8 uses 1 to 3 Bytes for one char, so using strlen() will likely lead to wrong results. Extensions should instead use the functions provided in t3lib_cs.&lt;br /&gt;
&lt;br /&gt;
==== Sortierung ====&lt;br /&gt;
It is highly recommended (although not strictly necessary) to use UTF-8 in the database. Otherwise database sorting functions will not work correctly.&lt;br /&gt;
[edit] Problem with indeces&lt;br /&gt;
&lt;br /&gt;
==== Fehlermeldung Specified key was too long bei indizes====&lt;br /&gt;
&lt;br /&gt;
SQL=Specified key was too long; max key length is 1000 bytes:&lt;br /&gt;
&lt;br /&gt;
This particular problem might occur when you are using UTF-8 encoding. UTF-8 uses up to 3 bytes per character, and the maximum index length is 1000 bytes, so the effective maximum index is 1000/3 = 333 characters. Some tables are longer than this, hence the error (many other packages are being bitten by this issue too).&lt;br /&gt;
&lt;br /&gt;
To solve this, simply remove the index from that field and reload.&lt;br /&gt;
&lt;br /&gt;
Note: Using indeces that big anyway is not recommended and shows bad DB design.&lt;br /&gt;
[edit] Convert an already existing database to UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konvertierung einer bestehenden Datenbank ===&lt;br /&gt;
Some links to the conversion topic:&lt;br /&gt;
&lt;br /&gt;
    * http://dev.mysql.com/doc/refman/4.1/en/charset-convert.html (MySQL based conversion)&lt;br /&gt;
    * http://www.typo3-media.com/blog/article/utf8-and-typo3-updated.html&lt;br /&gt;
    * http://m.tacker.org/blog/64.script-to-convert-wordpress-content-encoding.html (useful PHP script to convert charsets) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[edit] Possibility 1&lt;br /&gt;
Note 	This has been tested and works!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jigal van Hemert wrote a script, which can convert your database to utf-8. He offers it for download here: [[http://www.xs4all.nl/~dcbjht/typo3/db_utf8_fix.zip]] . This script converts all columns, tables and finally the setting for the whole database to utf-8.&lt;br /&gt;
&lt;br /&gt;
Jigal writes:&lt;br /&gt;
&lt;br /&gt;
Read the following very carefully, because you have to make a few adjustments depending on the situation!&lt;br /&gt;
&lt;br /&gt;
    * Make a backup of your database before you do such a conversion. &lt;br /&gt;
&lt;br /&gt;
    * The script was meant for the situation where utf-8 encoded data was stored in latin-1 (or other charsets) tables. This was very common in 2008. You can recognize this by looking in PHPmyAdmin and you find that characters with accents (diacriticals) are shown as weird double-character combinations:&lt;br /&gt;
      Instead of &amp;quot;Ali Gökgöz and Gültekin Tarcan&amp;quot; it shows as &amp;quot;Ali GÃ¶kgÃ¶z and GÃ¼ltekin Tarcan&amp;quot;.&lt;br /&gt;
      If this is *not* the case in your situation, turn lines 97 - 107 into comments by putting // in front of them. &lt;br /&gt;
&lt;br /&gt;
    * In line 19 of the script it says define(&amp;quot;SIMULATE&amp;quot;, TRUE); This makes sure that the tables are not really converted, it&amp;#039;s just a practice run; a simulation. After you executed the script at least once and there are no errors you can turn this into define(&amp;quot;SIMULATE&amp;quot;, FALSE); to do the conversion for real. &lt;br /&gt;
&lt;br /&gt;
    * Put the script in a subdirectory of the TYPO3 installation, for example inside &amp;#039;fileadmin&amp;#039;. It is designed to run from a subdirectory so it can pick up the database connection data from localconf.php. &lt;br /&gt;
&lt;br /&gt;
    * Run the script from your browser: http://domain.ext/fileadmin/db_utf8_fix.php It shows each table it found and after the name of a table a dot for each column it has converted. &lt;br /&gt;
&lt;br /&gt;
    * It really doesn&amp;#039;t matter if there are columns/tables already in utf-8 format. &lt;br /&gt;
&lt;br /&gt;
 Settings in TYPO3 &lt;br /&gt;
&lt;br /&gt;
Furthermore, if you use the following settings in the Install Tool you should have a UTF-8 installation:&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 Possibility 2&lt;br /&gt;
&lt;br /&gt;
Dump your database, modifiy the dumped file and import it again.&lt;br /&gt;
Note 	If you do it that way, setting [&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] might cause broken special chars inside TYPO3. See below for more information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Requirements:&lt;br /&gt;
&lt;br /&gt;
    * Shell access to your unix based server&lt;br /&gt;
    * &amp;quot;Sed&amp;quot; package installed on the server &lt;br /&gt;
&lt;br /&gt;
For this example we assume:&lt;br /&gt;
&lt;br /&gt;
    * hostname: domain.com&lt;br /&gt;
    * database: typo3 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This example is for linux users. If your PC uses Windows, you can do the same using putty.exe. Enter the hostname in the field &amp;quot;Host Name (or IP adress)&amp;quot; and click on &amp;quot;Open&amp;quot;. Then enter your ssh username, press enter and enter the password (which will not be displayed) and press enter. Then you are connected to the server.&lt;br /&gt;
&lt;br /&gt;
Linux users connect to the server via ssh typing&lt;br /&gt;
&lt;br /&gt;
ssh -l (user) domain.com&lt;br /&gt;
&lt;br /&gt;
Create a backup of the database (for security reasons if things go wrong...)&lt;br /&gt;
&lt;br /&gt;
mysqldump -u (user) -p(pass) --max_allowed_packet=10000000 typo3 &amp;gt; typo3_backup.sql&lt;br /&gt;
&lt;br /&gt;
Dump database (without table typo3.sys_refindex. This prevents the following error: SQL=Specified key was too long; max key length is 1000 bytes. You have to rebuild the reference index afterwards!)&lt;br /&gt;
&lt;br /&gt;
mysqldump -u (user) -p(pass) --max_allowed_packet=10000000 --ignore-table=typo3.sys_refindex  typo3  &amp;gt; typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Now modifiy the dump: Newer versions of MySQL (at least 5.0) also save the collation for each column seperately. You have to convert all of them:&lt;br /&gt;
&lt;br /&gt;
First convert all occurences of &amp;quot;DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci&amp;quot; (use the character set which you have written in your file) in typo3_utf8.sql to &amp;quot;DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
sed  -e &amp;#039;s/DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci/DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci/g&amp;#039; -i typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Then convert all occurences of &amp;quot;COLLATE latin1_german1_ci&amp;quot; (use the charset you have written in your file) to &amp;quot;COLLATE utf8_general_ci&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
sed  -e &amp;#039;s/COLLATE latin1_german1_ci/COLLATE utf8_general_ci/g&amp;#039; -i typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Import database&lt;br /&gt;
&lt;br /&gt;
mysql -u (user) -p(pass) --default-character-set=utf8  typo3 &amp;lt; typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Alter character set and collation for the whole database&lt;br /&gt;
&lt;br /&gt;
mysql -u (user) -p(pass) -e &amp;quot;ALTER DATABASE typo3 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[edit] Settings in TYPO3&lt;br /&gt;
&lt;br /&gt;
Furthermore, if you use the following settings in the Install Tool you should have a UTF-8 installation:&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
[edit] Broken special chars?&lt;br /&gt;
&lt;br /&gt;
If the result of the above mentioned is that special chars are displayed incorrectly in TYPO3 (a small black box with a question mark in it instead of the special char), the following might help:&lt;br /&gt;
&lt;br /&gt;
Create a new database. Make sure that it uses utf8 as default charset and utf8_general_ci as collation:&lt;br /&gt;
&lt;br /&gt;
mysql -user (user) -password(password) -e &amp;quot;ALTER DATABASE (new-db) DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Then import the dump into that database without using sed to replace the occurences of latin1 (or what you have) with utf8.&lt;br /&gt;
&lt;br /&gt;
The result will be that the tables and columns in your database still use latin1 (or what you had before).&lt;br /&gt;
&lt;br /&gt;
This might be a problem, e.g. when you now add new tables to this database, they will use utf8 as charset, because the database is set to utf8. This will lead to a mix of both charsets in your DB.&lt;br /&gt;
[edit] Possibility 3&lt;br /&gt;
&lt;br /&gt;
This might be the way to go for german speaking users with a Unix server:&lt;br /&gt;
&lt;br /&gt;
A way similar to possibility 2 is recommended by t3n (german).&lt;br /&gt;
&lt;br /&gt;
Basically they make the dump and replace the charset and collation statements.&lt;br /&gt;
&lt;br /&gt;
Then they use iconv on the dumped file to convert the signs inside:&lt;br /&gt;
&lt;br /&gt;
iconv -f iso-8859-1 -t utf8 dump.sql &amp;gt; dump-iconv.sql&lt;br /&gt;
&lt;br /&gt;
After that they import the file using the switch --default-character-set=utf8:&lt;br /&gt;
&lt;br /&gt;
mysql -u USER -p PASSWORT -h HOST --default-character-set=utf8 DB &amp;lt; dump-iconv.sql&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note 	If you did that and get umlauts displayed correctly, but ß and € displayed wrong inside TYPO3, you should use CP1252 in the iconv command as origin charset like that:&lt;br /&gt;
&lt;br /&gt;
iconv -f CP1252 -t utf8 dump.sql &amp;gt; dump-iconv.sql&lt;br /&gt;
&lt;br /&gt;
=== Filesystem ===&lt;br /&gt;
&lt;br /&gt;
When setting [BE][forceCharset] all files in the TYPO3 root folder and below are handled as UTF-8 files by TYPO3; so you should make sure that they really are. You should e.g. check your HTML-Templates and CSS files for special chars like umlauts. If they are displayed incorrectly, you should fix that by saving the file in UTF-8 format.&lt;br /&gt;
&lt;br /&gt;
When editing such files only use editors which can save files in UTF-8 format. That is any editor on Linux and e.g. Notepad++ if you use Windows.&lt;br /&gt;
&lt;br /&gt;
Attention: Do not save the files in UTF-8 format with Byte Order Mark (BOM). Saving them as UTF-8 with BOM can cause problems, e.g. thumbnails in the BE will no longer be shown. Save the files in ANSI format (as UTF-8 without BOM) instead.&lt;br /&gt;
[edit] t3lib_cs&lt;br /&gt;
&lt;br /&gt;
Developers: Use these functions e.g. to get the length of a string. strlen doesn&amp;#039;t get the correct string-length, because the chars of UTF-8 can have 1...3 Bytes.&lt;br /&gt;
&lt;br /&gt;
In PHP 5.3 PECL/intl will be available, so maybe the TYPO3 Core-Developers switch to this.&lt;br /&gt;
[edit] Use unicode fonts&lt;br /&gt;
&lt;br /&gt;
If you use Gifbuilder to create some lines of text (e.g. in a menu) make sure that the font file you use is unicode. More info here.&lt;br /&gt;
&lt;br /&gt;
If there still are problems with broken special chars in these images, you should make sure that the configuration for mb_string or iconv (the one which you set in the Install Tool) is set to UTF-8. You can check that in phpinfo() and correct the settings in php.ini or .htaccess, if needed.&lt;br /&gt;
[edit] HTML Tidy&lt;br /&gt;
&lt;br /&gt;
If you are having problems with html entities like &amp;amp;nbsp; shown as ? in the browser, add the -utf8 option to the HTML tidy_path variable in the install tool, e.g.&lt;br /&gt;
&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;#039;FE&amp;#039;][&amp;#039;tidy_path&amp;#039;] = &amp;#039;tidy -i --quiet true --tidy-mark true -wrap 0 -raw --output-xhtml true -utf8&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== External links ====&lt;br /&gt;
&lt;br /&gt;
    * http://dev.mysql.com/doc/refman/5.0/en/charset.html&lt;br /&gt;
    * http://en.opensuse.org/SDB%3AConverting_Files_or_File_Names_to_UTF-8_Encoding&lt;br /&gt;
    * How to change the encoding like iso-8859-1, iso-8859-15, utf-8 of files: http://linuxwiki.de/tcs (just in german in the moment)&lt;/div&gt;</summary>
		<author><name>94.216.241.119</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_auf_utf-8_umstellen&amp;diff=18884</id>
		<title>TYPO3 auf utf-8 umstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_auf_utf-8_umstellen&amp;diff=18884"/>
		<updated>2011-10-25T08:09:39Z</updated>

		<summary type="html">&lt;p&gt;94.216.241.119: /* TYPO3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quickstart ==&lt;br /&gt;
=== TYPO3 ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Install Tool „All Configuration“&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[forceCharset] = utf-8&lt;br /&gt;
[setDBinit] = SET NAMES utf8; SET CHARACTER_SET utf8; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
zweiter Teil ist oft nicht notwendig kann aber probiert werden wenn irgendwas nicht klappt.&lt;br /&gt;
 &lt;br /&gt;
Sie müssen im TypoScript übrigens „metaCharset“ und „renderCharset“ nicht setzen, da „forceCharset“ diese beiden Werte automatisch setzt. &lt;br /&gt;
Mit „SET NAMES utf8;&amp;quot; wird MySQL darüber informiert, in welchem Zeichensatz die Daten übermittelt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== mySQL ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Datenbank sichern&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 mysqldump --opt -Q -u USER -p PASSWORT -h HOST DB &amp;gt; dump.sql&lt;br /&gt;
oder im Kompatibilitätsmodus (ohne Kollation) mit&lt;br /&gt;
 --compatible=mysql40&lt;br /&gt;
 Wenn ohne Kompatibilitätsmodus dann Charset und Kollation anpassen. Aus der Zeile &lt;br /&gt;
 ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;&lt;br /&gt;
wird dann z.B.:&lt;br /&gt;
ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Artikel aus dem t3n Magazin&lt;br /&gt;
[[http://t3n.de/magazin/mysql-typo3-utf-8-umstellen-tipps-wechsel-latin1-utf-8-220945/]]&lt;br /&gt;
&lt;br /&gt;
Guter Überblick im TYPO3 Wiki&lt;br /&gt;
[[http://wiki.typo3.org/index.php/UTF-8_support]] Der hier vorliegende Text ist eine Übersetzung des dortigen Textes.&lt;br /&gt;
&lt;br /&gt;
== Überblick / Overview ==&lt;br /&gt;
Verarbeitungskette prüfen vhost.conf - php.ini - my.cnf&lt;br /&gt;
&lt;br /&gt;
Wichtige Einstellung die leicht übersehen wird:&lt;br /&gt;
&lt;br /&gt;
Install Tool: Unter „All Configuration“ muss nun „[forceCharset]“ auf „utf-8“ und „[setDBinit]“ den Eintrag „SET NAMES utf8;“ erhalten. Der zusätzliche Eintrag „SET CHARACTER_SET utf8;“, der dem Feld „[setDBinit]“ hinzugefügt werden kann, ist oft nicht notwendig.&lt;br /&gt;
&lt;br /&gt;
=== Verarbeitungskette ===&lt;br /&gt;
Zuerst mal testen ob in der Verarbeitungskette überall utf-8 für die Übertragung von Daten verwendet wird:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Apache: vhost.conf ====&lt;br /&gt;
&lt;br /&gt;
AddDefaultCharset UTF-8&lt;br /&gt;
&lt;br /&gt;
Dies ist für TYPO3 Versionen spätestens ab 4.3 nicht notwendig. Wenn man hier im Install Tool &amp;#039;&amp;#039;[BE][forceCharset]&amp;#039;&amp;#039; gesetzt hat&lt;br /&gt;
&lt;br /&gt;
Kann einfach getestet werden indem man sich die Header Daten einer Seite mit Firebug oder LiveHTTPTracker anschaut. Darin sollte eine Zeile in dieser Art enthalten sein:&lt;br /&gt;
&lt;br /&gt;
 Content-Type: text/html; charset=utf-8&lt;br /&gt;
&lt;br /&gt;
==== PHP: php.ini ====&lt;br /&gt;
 default_charset = &amp;quot;utf-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Mit dieser Einstellung sollten auch standalone Skripte mit dem richtigen Zeichensatz arbeiten. Man kann in den Skripten aber auch &lt;br /&gt;
&lt;br /&gt;
Außerdem sollte mit der Erweiterung mbstring oder iconf gearbeitet werden. Deren Performance ist wesentlich besser als die Umwandlung über den PHP-Code von TYPO3 (s.u.)&lt;br /&gt;
&lt;br /&gt;
==== MySQL: my.cnf ====&lt;br /&gt;
Die folgende Einstellung setzt alle System Variablen für Zeichensätze und Kollationen für den MySQL SERVER. Dies betrifft also auch existierende Datenbanken. Deshalb sollte diese Einstellung nur gesetzt werden wenn ausschließlich mit utf-8 Datenbanken gearbeitet wird.&lt;br /&gt;
&lt;br /&gt;
Man benötigt die Einstellung nicht wenn im Install Tool &amp;#039;&amp;#039;[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;]&amp;#039;&amp;#039;  gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== TYPO3 Einstellungen ===&lt;br /&gt;
&lt;br /&gt;
==== localconf.php ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// For backend charset&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;; &lt;br /&gt;
&lt;br /&gt;
// For GIFBUILDER support&lt;br /&gt;
// Set it to &amp;#039;iconv&amp;#039; or &amp;#039;mbstring&amp;#039;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;t3lib_cs_convMethod&amp;#039;] = &amp;#039;mbstring&amp;#039;;&lt;br /&gt;
// For &amp;#039;iconv&amp;#039; support you need at least PHP 5!&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;t3lib_cs_utils&amp;#039;] = &amp;#039;mbstring&amp;#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweise:&lt;br /&gt;
* Wenn die Datenbank auf  UTF-8 gesetzt ist, sollte man &amp;#039;&amp;#039;&amp;#039;nicht die Einstellung $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;multiplyDBfieldSize&amp;#039;] setzen&amp;#039;&amp;#039;&amp;#039;. Diese wird nur benötigt, wenn die Datenbank mit latin 1 arbeitet aber der Inhalt  utf-8 ist. Außerdem führt die Einstellung des öfteren zu Problemen.&lt;br /&gt;
*  $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;; Setzt folgende 3 Einstellungen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 SET character_set_client = utf8; &lt;br /&gt;
 SET character_set_results = utf8; &lt;br /&gt;
 SET character_set_connection = utf8; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wenn &amp;#039;&amp;#039;&amp;#039;in phpMyAdmin Sonderzeichen als 2 seltsame Zeichen&amp;#039;&amp;#039;&amp;#039; angezeigt werden, reicht diese Einstellung nicht. Zuerst müssen die Inhaltstabellen konvertiert werden (oder löschen, umstellen, neu eingeben.&lt;br /&gt;
&lt;br /&gt;
* In &amp;#039;&amp;#039;&amp;#039;manchen Konfigurationen&amp;#039;&amp;#039;&amp;#039; muß man auch noch eine &amp;#039;&amp;#039;&amp;#039;Einstellung für die Sessions&amp;#039;&amp;#039;&amp;#039; machen:&lt;br /&gt;
&lt;br /&gt;
 SET NAMES utf8;&lt;br /&gt;
 SET SESSION character_set_server=utf8;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Benutze niemals SET CHARACTER SET utf8;&amp;#039;&amp;#039;&amp;#039; Dies kann große Probleme im TYPO3 Umfeld erzeugen. Mit der Einstellung SET NAMES hat sich das ohnehin erledigt, weil hier eigentlich die wichtigen Einstellungen gemacht werden&lt;br /&gt;
&lt;br /&gt;
* Wenn [BE][forceCharset] auf utf-8 gesetzt ist (siehe oben), dann wird auch &amp;#039;&amp;#039;config.renderCharset&amp;#039;&amp;#039; und &amp;#039;&amp;#039;config.metaCharset&amp;#039;&amp;#039; per default mit utf-8 arbeiten. Deshalb müssen hier keine Einstellungen mehr gemacht werden.&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
==== RealURL ====&lt;br /&gt;
&lt;br /&gt;
One problem is that RealURL might not be able to understand a page title if it is in unusual (i.e. not Roman) characters. For example, with a page title in Japanese, I found that the title was not interpreted and the page was rendered as jp.html. Using the Navigation title solves this problem (to follow on the example, setting &amp;quot;home&amp;quot; as the Navigation title, my page was then rendered as jp/home.html).&lt;br /&gt;
&lt;br /&gt;
==== TemplaVoila ====&lt;br /&gt;
&lt;br /&gt;
Templates müssen im UTF-8 Format gespeichert werden. Möglicherweise muß neu gemappt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Weitere Hinweise ===&lt;br /&gt;
&lt;br /&gt;
==== Extensions sollten nicht strlen() benutzen====&lt;br /&gt;
Stattdessen sollte die Funktion t3lib_cs benutzt werden.&lt;br /&gt;
&lt;br /&gt;
strlen() doesn&amp;#039;t care for UTF-8. UTF-8 uses 1 to 3 Bytes for one char, so using strlen() will likely lead to wrong results. Extensions should instead use the functions provided in t3lib_cs.&lt;br /&gt;
&lt;br /&gt;
==== Sortierung ====&lt;br /&gt;
It is highly recommended (although not strictly necessary) to use UTF-8 in the database. Otherwise database sorting functions will not work correctly.&lt;br /&gt;
[edit] Problem with indeces&lt;br /&gt;
&lt;br /&gt;
==== Fehlermeldung Specified key was too long bei indizes====&lt;br /&gt;
&lt;br /&gt;
SQL=Specified key was too long; max key length is 1000 bytes:&lt;br /&gt;
&lt;br /&gt;
This particular problem might occur when you are using UTF-8 encoding. UTF-8 uses up to 3 bytes per character, and the maximum index length is 1000 bytes, so the effective maximum index is 1000/3 = 333 characters. Some tables are longer than this, hence the error (many other packages are being bitten by this issue too).&lt;br /&gt;
&lt;br /&gt;
To solve this, simply remove the index from that field and reload.&lt;br /&gt;
&lt;br /&gt;
Note: Using indeces that big anyway is not recommended and shows bad DB design.&lt;br /&gt;
[edit] Convert an already existing database to UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konvertierung einer bestehenden Datenbank ===&lt;br /&gt;
Some links to the conversion topic:&lt;br /&gt;
&lt;br /&gt;
    * http://dev.mysql.com/doc/refman/4.1/en/charset-convert.html (MySQL based conversion)&lt;br /&gt;
    * http://www.typo3-media.com/blog/article/utf8-and-typo3-updated.html&lt;br /&gt;
    * http://m.tacker.org/blog/64.script-to-convert-wordpress-content-encoding.html (useful PHP script to convert charsets) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[edit] Possibility 1&lt;br /&gt;
Note 	This has been tested and works!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jigal van Hemert wrote a script, which can convert your database to utf-8. He offers it for download here: [[http://www.xs4all.nl/~dcbjht/typo3/db_utf8_fix.zip]] . This script converts all columns, tables and finally the setting for the whole database to utf-8.&lt;br /&gt;
&lt;br /&gt;
Jigal writes:&lt;br /&gt;
&lt;br /&gt;
Read the following very carefully, because you have to make a few adjustments depending on the situation!&lt;br /&gt;
&lt;br /&gt;
    * Make a backup of your database before you do such a conversion. &lt;br /&gt;
&lt;br /&gt;
    * The script was meant for the situation where utf-8 encoded data was stored in latin-1 (or other charsets) tables. This was very common in 2008. You can recognize this by looking in PHPmyAdmin and you find that characters with accents (diacriticals) are shown as weird double-character combinations:&lt;br /&gt;
      Instead of &amp;quot;Ali Gökgöz and Gültekin Tarcan&amp;quot; it shows as &amp;quot;Ali GÃ¶kgÃ¶z and GÃ¼ltekin Tarcan&amp;quot;.&lt;br /&gt;
      If this is *not* the case in your situation, turn lines 97 - 107 into comments by putting // in front of them. &lt;br /&gt;
&lt;br /&gt;
    * In line 19 of the script it says define(&amp;quot;SIMULATE&amp;quot;, TRUE); This makes sure that the tables are not really converted, it&amp;#039;s just a practice run; a simulation. After you executed the script at least once and there are no errors you can turn this into define(&amp;quot;SIMULATE&amp;quot;, FALSE); to do the conversion for real. &lt;br /&gt;
&lt;br /&gt;
    * Put the script in a subdirectory of the TYPO3 installation, for example inside &amp;#039;fileadmin&amp;#039;. It is designed to run from a subdirectory so it can pick up the database connection data from localconf.php. &lt;br /&gt;
&lt;br /&gt;
    * Run the script from your browser: http://domain.ext/fileadmin/db_utf8_fix.php It shows each table it found and after the name of a table a dot for each column it has converted. &lt;br /&gt;
&lt;br /&gt;
    * It really doesn&amp;#039;t matter if there are columns/tables already in utf-8 format. &lt;br /&gt;
&lt;br /&gt;
 Settings in TYPO3 &lt;br /&gt;
&lt;br /&gt;
Furthermore, if you use the following settings in the Install Tool you should have a UTF-8 installation:&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 Possibility 2&lt;br /&gt;
&lt;br /&gt;
Dump your database, modifiy the dumped file and import it again.&lt;br /&gt;
Note 	If you do it that way, setting [&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] might cause broken special chars inside TYPO3. See below for more information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Requirements:&lt;br /&gt;
&lt;br /&gt;
    * Shell access to your unix based server&lt;br /&gt;
    * &amp;quot;Sed&amp;quot; package installed on the server &lt;br /&gt;
&lt;br /&gt;
For this example we assume:&lt;br /&gt;
&lt;br /&gt;
    * hostname: domain.com&lt;br /&gt;
    * database: typo3 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This example is for linux users. If your PC uses Windows, you can do the same using putty.exe. Enter the hostname in the field &amp;quot;Host Name (or IP adress)&amp;quot; and click on &amp;quot;Open&amp;quot;. Then enter your ssh username, press enter and enter the password (which will not be displayed) and press enter. Then you are connected to the server.&lt;br /&gt;
&lt;br /&gt;
Linux users connect to the server via ssh typing&lt;br /&gt;
&lt;br /&gt;
ssh -l (user) domain.com&lt;br /&gt;
&lt;br /&gt;
Create a backup of the database (for security reasons if things go wrong...)&lt;br /&gt;
&lt;br /&gt;
mysqldump -u (user) -p(pass) --max_allowed_packet=10000000 typo3 &amp;gt; typo3_backup.sql&lt;br /&gt;
&lt;br /&gt;
Dump database (without table typo3.sys_refindex. This prevents the following error: SQL=Specified key was too long; max key length is 1000 bytes. You have to rebuild the reference index afterwards!)&lt;br /&gt;
&lt;br /&gt;
mysqldump -u (user) -p(pass) --max_allowed_packet=10000000 --ignore-table=typo3.sys_refindex  typo3  &amp;gt; typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Now modifiy the dump: Newer versions of MySQL (at least 5.0) also save the collation for each column seperately. You have to convert all of them:&lt;br /&gt;
&lt;br /&gt;
First convert all occurences of &amp;quot;DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci&amp;quot; (use the character set which you have written in your file) in typo3_utf8.sql to &amp;quot;DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
sed  -e &amp;#039;s/DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci/DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci/g&amp;#039; -i typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Then convert all occurences of &amp;quot;COLLATE latin1_german1_ci&amp;quot; (use the charset you have written in your file) to &amp;quot;COLLATE utf8_general_ci&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
sed  -e &amp;#039;s/COLLATE latin1_german1_ci/COLLATE utf8_general_ci/g&amp;#039; -i typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Import database&lt;br /&gt;
&lt;br /&gt;
mysql -u (user) -p(pass) --default-character-set=utf8  typo3 &amp;lt; typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Alter character set and collation for the whole database&lt;br /&gt;
&lt;br /&gt;
mysql -u (user) -p(pass) -e &amp;quot;ALTER DATABASE typo3 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[edit] Settings in TYPO3&lt;br /&gt;
&lt;br /&gt;
Furthermore, if you use the following settings in the Install Tool you should have a UTF-8 installation:&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
[edit] Broken special chars?&lt;br /&gt;
&lt;br /&gt;
If the result of the above mentioned is that special chars are displayed incorrectly in TYPO3 (a small black box with a question mark in it instead of the special char), the following might help:&lt;br /&gt;
&lt;br /&gt;
Create a new database. Make sure that it uses utf8 as default charset and utf8_general_ci as collation:&lt;br /&gt;
&lt;br /&gt;
mysql -user (user) -password(password) -e &amp;quot;ALTER DATABASE (new-db) DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Then import the dump into that database without using sed to replace the occurences of latin1 (or what you have) with utf8.&lt;br /&gt;
&lt;br /&gt;
The result will be that the tables and columns in your database still use latin1 (or what you had before).&lt;br /&gt;
&lt;br /&gt;
This might be a problem, e.g. when you now add new tables to this database, they will use utf8 as charset, because the database is set to utf8. This will lead to a mix of both charsets in your DB.&lt;br /&gt;
[edit] Possibility 3&lt;br /&gt;
&lt;br /&gt;
This might be the way to go for german speaking users with a Unix server:&lt;br /&gt;
&lt;br /&gt;
A way similar to possibility 2 is recommended by t3n (german).&lt;br /&gt;
&lt;br /&gt;
Basically they make the dump and replace the charset and collation statements.&lt;br /&gt;
&lt;br /&gt;
Then they use iconv on the dumped file to convert the signs inside:&lt;br /&gt;
&lt;br /&gt;
iconv -f iso-8859-1 -t utf8 dump.sql &amp;gt; dump-iconv.sql&lt;br /&gt;
&lt;br /&gt;
After that they import the file using the switch --default-character-set=utf8:&lt;br /&gt;
&lt;br /&gt;
mysql -u USER -p PASSWORT -h HOST --default-character-set=utf8 DB &amp;lt; dump-iconv.sql&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note 	If you did that and get umlauts displayed correctly, but ß and € displayed wrong inside TYPO3, you should use CP1252 in the iconv command as origin charset like that:&lt;br /&gt;
&lt;br /&gt;
iconv -f CP1252 -t utf8 dump.sql &amp;gt; dump-iconv.sql&lt;br /&gt;
&lt;br /&gt;
=== Filesystem ===&lt;br /&gt;
&lt;br /&gt;
When setting [BE][forceCharset] all files in the TYPO3 root folder and below are handled as UTF-8 files by TYPO3; so you should make sure that they really are. You should e.g. check your HTML-Templates and CSS files for special chars like umlauts. If they are displayed incorrectly, you should fix that by saving the file in UTF-8 format.&lt;br /&gt;
&lt;br /&gt;
When editing such files only use editors which can save files in UTF-8 format. That is any editor on Linux and e.g. Notepad++ if you use Windows.&lt;br /&gt;
&lt;br /&gt;
Attention: Do not save the files in UTF-8 format with Byte Order Mark (BOM). Saving them as UTF-8 with BOM can cause problems, e.g. thumbnails in the BE will no longer be shown. Save the files in ANSI format (as UTF-8 without BOM) instead.&lt;br /&gt;
[edit] t3lib_cs&lt;br /&gt;
&lt;br /&gt;
Developers: Use these functions e.g. to get the length of a string. strlen doesn&amp;#039;t get the correct string-length, because the chars of UTF-8 can have 1...3 Bytes.&lt;br /&gt;
&lt;br /&gt;
In PHP 5.3 PECL/intl will be available, so maybe the TYPO3 Core-Developers switch to this.&lt;br /&gt;
[edit] Use unicode fonts&lt;br /&gt;
&lt;br /&gt;
If you use Gifbuilder to create some lines of text (e.g. in a menu) make sure that the font file you use is unicode. More info here.&lt;br /&gt;
&lt;br /&gt;
If there still are problems with broken special chars in these images, you should make sure that the configuration for mb_string or iconv (the one which you set in the Install Tool) is set to UTF-8. You can check that in phpinfo() and correct the settings in php.ini or .htaccess, if needed.&lt;br /&gt;
[edit] HTML Tidy&lt;br /&gt;
&lt;br /&gt;
If you are having problems with html entities like &amp;amp;nbsp; shown as ? in the browser, add the -utf8 option to the HTML tidy_path variable in the install tool, e.g.&lt;br /&gt;
&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;#039;FE&amp;#039;][&amp;#039;tidy_path&amp;#039;] = &amp;#039;tidy -i --quiet true --tidy-mark true -wrap 0 -raw --output-xhtml true -utf8&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== External links ====&lt;br /&gt;
&lt;br /&gt;
    * http://dev.mysql.com/doc/refman/5.0/en/charset.html&lt;br /&gt;
    * http://en.opensuse.org/SDB%3AConverting_Files_or_File_Names_to_UTF-8_Encoding&lt;br /&gt;
    * How to change the encoding like iso-8859-1, iso-8859-15, utf-8 of files: http://linuxwiki.de/tcs (just in german in the moment)&lt;/div&gt;</summary>
		<author><name>94.216.241.119</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_auf_utf-8_umstellen&amp;diff=18883</id>
		<title>TYPO3 auf utf-8 umstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_auf_utf-8_umstellen&amp;diff=18883"/>
		<updated>2011-10-25T08:09:21Z</updated>

		<summary type="html">&lt;p&gt;94.216.241.119: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quickstart ==&lt;br /&gt;
=== TYPO3 ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Install Tool „All Configuration“&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[forceCharset] = utf-8&lt;br /&gt;
[setDBinit] = SET NAMES utf8; SET CHARACTER_SET utf8; &lt;br /&gt;
&lt;br /&gt;
zweiter Teil ist oft nicht notwendig kann aber probiert werden wenn irgendwas nicht klappt.&lt;br /&gt;
 &lt;br /&gt;
Sie müssen im TypoScript übrigens „metaCharset“ und „renderCharset“ nicht setzen, da „forceCharset“ diese beiden Werte automatisch setzt. &lt;br /&gt;
Mit „SET NAMES utf8;&amp;quot; wird MySQL darüber informiert, in welchem Zeichensatz die Daten übermittelt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== mySQL ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Datenbank sichern&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 mysqldump --opt -Q -u USER -p PASSWORT -h HOST DB &amp;gt; dump.sql&lt;br /&gt;
oder im Kompatibilitätsmodus (ohne Kollation) mit&lt;br /&gt;
 --compatible=mysql40&lt;br /&gt;
 Wenn ohne Kompatibilitätsmodus dann Charset und Kollation anpassen. Aus der Zeile &lt;br /&gt;
 ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;&lt;br /&gt;
wird dann z.B.:&lt;br /&gt;
ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Artikel aus dem t3n Magazin&lt;br /&gt;
[[http://t3n.de/magazin/mysql-typo3-utf-8-umstellen-tipps-wechsel-latin1-utf-8-220945/]]&lt;br /&gt;
&lt;br /&gt;
Guter Überblick im TYPO3 Wiki&lt;br /&gt;
[[http://wiki.typo3.org/index.php/UTF-8_support]] Der hier vorliegende Text ist eine Übersetzung des dortigen Textes.&lt;br /&gt;
&lt;br /&gt;
== Überblick / Overview ==&lt;br /&gt;
Verarbeitungskette prüfen vhost.conf - php.ini - my.cnf&lt;br /&gt;
&lt;br /&gt;
Wichtige Einstellung die leicht übersehen wird:&lt;br /&gt;
&lt;br /&gt;
Install Tool: Unter „All Configuration“ muss nun „[forceCharset]“ auf „utf-8“ und „[setDBinit]“ den Eintrag „SET NAMES utf8;“ erhalten. Der zusätzliche Eintrag „SET CHARACTER_SET utf8;“, der dem Feld „[setDBinit]“ hinzugefügt werden kann, ist oft nicht notwendig.&lt;br /&gt;
&lt;br /&gt;
=== Verarbeitungskette ===&lt;br /&gt;
Zuerst mal testen ob in der Verarbeitungskette überall utf-8 für die Übertragung von Daten verwendet wird:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Apache: vhost.conf ====&lt;br /&gt;
&lt;br /&gt;
AddDefaultCharset UTF-8&lt;br /&gt;
&lt;br /&gt;
Dies ist für TYPO3 Versionen spätestens ab 4.3 nicht notwendig. Wenn man hier im Install Tool &amp;#039;&amp;#039;[BE][forceCharset]&amp;#039;&amp;#039; gesetzt hat&lt;br /&gt;
&lt;br /&gt;
Kann einfach getestet werden indem man sich die Header Daten einer Seite mit Firebug oder LiveHTTPTracker anschaut. Darin sollte eine Zeile in dieser Art enthalten sein:&lt;br /&gt;
&lt;br /&gt;
 Content-Type: text/html; charset=utf-8&lt;br /&gt;
&lt;br /&gt;
==== PHP: php.ini ====&lt;br /&gt;
 default_charset = &amp;quot;utf-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Mit dieser Einstellung sollten auch standalone Skripte mit dem richtigen Zeichensatz arbeiten. Man kann in den Skripten aber auch &lt;br /&gt;
&lt;br /&gt;
Außerdem sollte mit der Erweiterung mbstring oder iconf gearbeitet werden. Deren Performance ist wesentlich besser als die Umwandlung über den PHP-Code von TYPO3 (s.u.)&lt;br /&gt;
&lt;br /&gt;
==== MySQL: my.cnf ====&lt;br /&gt;
Die folgende Einstellung setzt alle System Variablen für Zeichensätze und Kollationen für den MySQL SERVER. Dies betrifft also auch existierende Datenbanken. Deshalb sollte diese Einstellung nur gesetzt werden wenn ausschließlich mit utf-8 Datenbanken gearbeitet wird.&lt;br /&gt;
&lt;br /&gt;
Man benötigt die Einstellung nicht wenn im Install Tool &amp;#039;&amp;#039;[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;]&amp;#039;&amp;#039;  gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== TYPO3 Einstellungen ===&lt;br /&gt;
&lt;br /&gt;
==== localconf.php ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// For backend charset&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;; &lt;br /&gt;
&lt;br /&gt;
// For GIFBUILDER support&lt;br /&gt;
// Set it to &amp;#039;iconv&amp;#039; or &amp;#039;mbstring&amp;#039;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;t3lib_cs_convMethod&amp;#039;] = &amp;#039;mbstring&amp;#039;;&lt;br /&gt;
// For &amp;#039;iconv&amp;#039; support you need at least PHP 5!&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;t3lib_cs_utils&amp;#039;] = &amp;#039;mbstring&amp;#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweise:&lt;br /&gt;
* Wenn die Datenbank auf  UTF-8 gesetzt ist, sollte man &amp;#039;&amp;#039;&amp;#039;nicht die Einstellung $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;multiplyDBfieldSize&amp;#039;] setzen&amp;#039;&amp;#039;&amp;#039;. Diese wird nur benötigt, wenn die Datenbank mit latin 1 arbeitet aber der Inhalt  utf-8 ist. Außerdem führt die Einstellung des öfteren zu Problemen.&lt;br /&gt;
*  $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;; Setzt folgende 3 Einstellungen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 SET character_set_client = utf8; &lt;br /&gt;
 SET character_set_results = utf8; &lt;br /&gt;
 SET character_set_connection = utf8; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wenn &amp;#039;&amp;#039;&amp;#039;in phpMyAdmin Sonderzeichen als 2 seltsame Zeichen&amp;#039;&amp;#039;&amp;#039; angezeigt werden, reicht diese Einstellung nicht. Zuerst müssen die Inhaltstabellen konvertiert werden (oder löschen, umstellen, neu eingeben.&lt;br /&gt;
&lt;br /&gt;
* In &amp;#039;&amp;#039;&amp;#039;manchen Konfigurationen&amp;#039;&amp;#039;&amp;#039; muß man auch noch eine &amp;#039;&amp;#039;&amp;#039;Einstellung für die Sessions&amp;#039;&amp;#039;&amp;#039; machen:&lt;br /&gt;
&lt;br /&gt;
 SET NAMES utf8;&lt;br /&gt;
 SET SESSION character_set_server=utf8;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Benutze niemals SET CHARACTER SET utf8;&amp;#039;&amp;#039;&amp;#039; Dies kann große Probleme im TYPO3 Umfeld erzeugen. Mit der Einstellung SET NAMES hat sich das ohnehin erledigt, weil hier eigentlich die wichtigen Einstellungen gemacht werden&lt;br /&gt;
&lt;br /&gt;
* Wenn [BE][forceCharset] auf utf-8 gesetzt ist (siehe oben), dann wird auch &amp;#039;&amp;#039;config.renderCharset&amp;#039;&amp;#039; und &amp;#039;&amp;#039;config.metaCharset&amp;#039;&amp;#039; per default mit utf-8 arbeiten. Deshalb müssen hier keine Einstellungen mehr gemacht werden.&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
==== RealURL ====&lt;br /&gt;
&lt;br /&gt;
One problem is that RealURL might not be able to understand a page title if it is in unusual (i.e. not Roman) characters. For example, with a page title in Japanese, I found that the title was not interpreted and the page was rendered as jp.html. Using the Navigation title solves this problem (to follow on the example, setting &amp;quot;home&amp;quot; as the Navigation title, my page was then rendered as jp/home.html).&lt;br /&gt;
&lt;br /&gt;
==== TemplaVoila ====&lt;br /&gt;
&lt;br /&gt;
Templates müssen im UTF-8 Format gespeichert werden. Möglicherweise muß neu gemappt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Weitere Hinweise ===&lt;br /&gt;
&lt;br /&gt;
==== Extensions sollten nicht strlen() benutzen====&lt;br /&gt;
Stattdessen sollte die Funktion t3lib_cs benutzt werden.&lt;br /&gt;
&lt;br /&gt;
strlen() doesn&amp;#039;t care for UTF-8. UTF-8 uses 1 to 3 Bytes for one char, so using strlen() will likely lead to wrong results. Extensions should instead use the functions provided in t3lib_cs.&lt;br /&gt;
&lt;br /&gt;
==== Sortierung ====&lt;br /&gt;
It is highly recommended (although not strictly necessary) to use UTF-8 in the database. Otherwise database sorting functions will not work correctly.&lt;br /&gt;
[edit] Problem with indeces&lt;br /&gt;
&lt;br /&gt;
==== Fehlermeldung Specified key was too long bei indizes====&lt;br /&gt;
&lt;br /&gt;
SQL=Specified key was too long; max key length is 1000 bytes:&lt;br /&gt;
&lt;br /&gt;
This particular problem might occur when you are using UTF-8 encoding. UTF-8 uses up to 3 bytes per character, and the maximum index length is 1000 bytes, so the effective maximum index is 1000/3 = 333 characters. Some tables are longer than this, hence the error (many other packages are being bitten by this issue too).&lt;br /&gt;
&lt;br /&gt;
To solve this, simply remove the index from that field and reload.&lt;br /&gt;
&lt;br /&gt;
Note: Using indeces that big anyway is not recommended and shows bad DB design.&lt;br /&gt;
[edit] Convert an already existing database to UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konvertierung einer bestehenden Datenbank ===&lt;br /&gt;
Some links to the conversion topic:&lt;br /&gt;
&lt;br /&gt;
    * http://dev.mysql.com/doc/refman/4.1/en/charset-convert.html (MySQL based conversion)&lt;br /&gt;
    * http://www.typo3-media.com/blog/article/utf8-and-typo3-updated.html&lt;br /&gt;
    * http://m.tacker.org/blog/64.script-to-convert-wordpress-content-encoding.html (useful PHP script to convert charsets) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[edit] Possibility 1&lt;br /&gt;
Note 	This has been tested and works!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jigal van Hemert wrote a script, which can convert your database to utf-8. He offers it for download here: [[http://www.xs4all.nl/~dcbjht/typo3/db_utf8_fix.zip]] . This script converts all columns, tables and finally the setting for the whole database to utf-8.&lt;br /&gt;
&lt;br /&gt;
Jigal writes:&lt;br /&gt;
&lt;br /&gt;
Read the following very carefully, because you have to make a few adjustments depending on the situation!&lt;br /&gt;
&lt;br /&gt;
    * Make a backup of your database before you do such a conversion. &lt;br /&gt;
&lt;br /&gt;
    * The script was meant for the situation where utf-8 encoded data was stored in latin-1 (or other charsets) tables. This was very common in 2008. You can recognize this by looking in PHPmyAdmin and you find that characters with accents (diacriticals) are shown as weird double-character combinations:&lt;br /&gt;
      Instead of &amp;quot;Ali Gökgöz and Gültekin Tarcan&amp;quot; it shows as &amp;quot;Ali GÃ¶kgÃ¶z and GÃ¼ltekin Tarcan&amp;quot;.&lt;br /&gt;
      If this is *not* the case in your situation, turn lines 97 - 107 into comments by putting // in front of them. &lt;br /&gt;
&lt;br /&gt;
    * In line 19 of the script it says define(&amp;quot;SIMULATE&amp;quot;, TRUE); This makes sure that the tables are not really converted, it&amp;#039;s just a practice run; a simulation. After you executed the script at least once and there are no errors you can turn this into define(&amp;quot;SIMULATE&amp;quot;, FALSE); to do the conversion for real. &lt;br /&gt;
&lt;br /&gt;
    * Put the script in a subdirectory of the TYPO3 installation, for example inside &amp;#039;fileadmin&amp;#039;. It is designed to run from a subdirectory so it can pick up the database connection data from localconf.php. &lt;br /&gt;
&lt;br /&gt;
    * Run the script from your browser: http://domain.ext/fileadmin/db_utf8_fix.php It shows each table it found and after the name of a table a dot for each column it has converted. &lt;br /&gt;
&lt;br /&gt;
    * It really doesn&amp;#039;t matter if there are columns/tables already in utf-8 format. &lt;br /&gt;
&lt;br /&gt;
 Settings in TYPO3 &lt;br /&gt;
&lt;br /&gt;
Furthermore, if you use the following settings in the Install Tool you should have a UTF-8 installation:&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 Possibility 2&lt;br /&gt;
&lt;br /&gt;
Dump your database, modifiy the dumped file and import it again.&lt;br /&gt;
Note 	If you do it that way, setting [&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] might cause broken special chars inside TYPO3. See below for more information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Requirements:&lt;br /&gt;
&lt;br /&gt;
    * Shell access to your unix based server&lt;br /&gt;
    * &amp;quot;Sed&amp;quot; package installed on the server &lt;br /&gt;
&lt;br /&gt;
For this example we assume:&lt;br /&gt;
&lt;br /&gt;
    * hostname: domain.com&lt;br /&gt;
    * database: typo3 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This example is for linux users. If your PC uses Windows, you can do the same using putty.exe. Enter the hostname in the field &amp;quot;Host Name (or IP adress)&amp;quot; and click on &amp;quot;Open&amp;quot;. Then enter your ssh username, press enter and enter the password (which will not be displayed) and press enter. Then you are connected to the server.&lt;br /&gt;
&lt;br /&gt;
Linux users connect to the server via ssh typing&lt;br /&gt;
&lt;br /&gt;
ssh -l (user) domain.com&lt;br /&gt;
&lt;br /&gt;
Create a backup of the database (for security reasons if things go wrong...)&lt;br /&gt;
&lt;br /&gt;
mysqldump -u (user) -p(pass) --max_allowed_packet=10000000 typo3 &amp;gt; typo3_backup.sql&lt;br /&gt;
&lt;br /&gt;
Dump database (without table typo3.sys_refindex. This prevents the following error: SQL=Specified key was too long; max key length is 1000 bytes. You have to rebuild the reference index afterwards!)&lt;br /&gt;
&lt;br /&gt;
mysqldump -u (user) -p(pass) --max_allowed_packet=10000000 --ignore-table=typo3.sys_refindex  typo3  &amp;gt; typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Now modifiy the dump: Newer versions of MySQL (at least 5.0) also save the collation for each column seperately. You have to convert all of them:&lt;br /&gt;
&lt;br /&gt;
First convert all occurences of &amp;quot;DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci&amp;quot; (use the character set which you have written in your file) in typo3_utf8.sql to &amp;quot;DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
sed  -e &amp;#039;s/DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci/DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci/g&amp;#039; -i typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Then convert all occurences of &amp;quot;COLLATE latin1_german1_ci&amp;quot; (use the charset you have written in your file) to &amp;quot;COLLATE utf8_general_ci&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
sed  -e &amp;#039;s/COLLATE latin1_german1_ci/COLLATE utf8_general_ci/g&amp;#039; -i typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Import database&lt;br /&gt;
&lt;br /&gt;
mysql -u (user) -p(pass) --default-character-set=utf8  typo3 &amp;lt; typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Alter character set and collation for the whole database&lt;br /&gt;
&lt;br /&gt;
mysql -u (user) -p(pass) -e &amp;quot;ALTER DATABASE typo3 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[edit] Settings in TYPO3&lt;br /&gt;
&lt;br /&gt;
Furthermore, if you use the following settings in the Install Tool you should have a UTF-8 installation:&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
[edit] Broken special chars?&lt;br /&gt;
&lt;br /&gt;
If the result of the above mentioned is that special chars are displayed incorrectly in TYPO3 (a small black box with a question mark in it instead of the special char), the following might help:&lt;br /&gt;
&lt;br /&gt;
Create a new database. Make sure that it uses utf8 as default charset and utf8_general_ci as collation:&lt;br /&gt;
&lt;br /&gt;
mysql -user (user) -password(password) -e &amp;quot;ALTER DATABASE (new-db) DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Then import the dump into that database without using sed to replace the occurences of latin1 (or what you have) with utf8.&lt;br /&gt;
&lt;br /&gt;
The result will be that the tables and columns in your database still use latin1 (or what you had before).&lt;br /&gt;
&lt;br /&gt;
This might be a problem, e.g. when you now add new tables to this database, they will use utf8 as charset, because the database is set to utf8. This will lead to a mix of both charsets in your DB.&lt;br /&gt;
[edit] Possibility 3&lt;br /&gt;
&lt;br /&gt;
This might be the way to go for german speaking users with a Unix server:&lt;br /&gt;
&lt;br /&gt;
A way similar to possibility 2 is recommended by t3n (german).&lt;br /&gt;
&lt;br /&gt;
Basically they make the dump and replace the charset and collation statements.&lt;br /&gt;
&lt;br /&gt;
Then they use iconv on the dumped file to convert the signs inside:&lt;br /&gt;
&lt;br /&gt;
iconv -f iso-8859-1 -t utf8 dump.sql &amp;gt; dump-iconv.sql&lt;br /&gt;
&lt;br /&gt;
After that they import the file using the switch --default-character-set=utf8:&lt;br /&gt;
&lt;br /&gt;
mysql -u USER -p PASSWORT -h HOST --default-character-set=utf8 DB &amp;lt; dump-iconv.sql&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note 	If you did that and get umlauts displayed correctly, but ß and € displayed wrong inside TYPO3, you should use CP1252 in the iconv command as origin charset like that:&lt;br /&gt;
&lt;br /&gt;
iconv -f CP1252 -t utf8 dump.sql &amp;gt; dump-iconv.sql&lt;br /&gt;
&lt;br /&gt;
=== Filesystem ===&lt;br /&gt;
&lt;br /&gt;
When setting [BE][forceCharset] all files in the TYPO3 root folder and below are handled as UTF-8 files by TYPO3; so you should make sure that they really are. You should e.g. check your HTML-Templates and CSS files for special chars like umlauts. If they are displayed incorrectly, you should fix that by saving the file in UTF-8 format.&lt;br /&gt;
&lt;br /&gt;
When editing such files only use editors which can save files in UTF-8 format. That is any editor on Linux and e.g. Notepad++ if you use Windows.&lt;br /&gt;
&lt;br /&gt;
Attention: Do not save the files in UTF-8 format with Byte Order Mark (BOM). Saving them as UTF-8 with BOM can cause problems, e.g. thumbnails in the BE will no longer be shown. Save the files in ANSI format (as UTF-8 without BOM) instead.&lt;br /&gt;
[edit] t3lib_cs&lt;br /&gt;
&lt;br /&gt;
Developers: Use these functions e.g. to get the length of a string. strlen doesn&amp;#039;t get the correct string-length, because the chars of UTF-8 can have 1...3 Bytes.&lt;br /&gt;
&lt;br /&gt;
In PHP 5.3 PECL/intl will be available, so maybe the TYPO3 Core-Developers switch to this.&lt;br /&gt;
[edit] Use unicode fonts&lt;br /&gt;
&lt;br /&gt;
If you use Gifbuilder to create some lines of text (e.g. in a menu) make sure that the font file you use is unicode. More info here.&lt;br /&gt;
&lt;br /&gt;
If there still are problems with broken special chars in these images, you should make sure that the configuration for mb_string or iconv (the one which you set in the Install Tool) is set to UTF-8. You can check that in phpinfo() and correct the settings in php.ini or .htaccess, if needed.&lt;br /&gt;
[edit] HTML Tidy&lt;br /&gt;
&lt;br /&gt;
If you are having problems with html entities like &amp;amp;nbsp; shown as ? in the browser, add the -utf8 option to the HTML tidy_path variable in the install tool, e.g.&lt;br /&gt;
&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;#039;FE&amp;#039;][&amp;#039;tidy_path&amp;#039;] = &amp;#039;tidy -i --quiet true --tidy-mark true -wrap 0 -raw --output-xhtml true -utf8&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== External links ====&lt;br /&gt;
&lt;br /&gt;
    * http://dev.mysql.com/doc/refman/5.0/en/charset.html&lt;br /&gt;
    * http://en.opensuse.org/SDB%3AConverting_Files_or_File_Names_to_UTF-8_Encoding&lt;br /&gt;
    * How to change the encoding like iso-8859-1, iso-8859-15, utf-8 of files: http://linuxwiki.de/tcs (just in german in the moment)&lt;/div&gt;</summary>
		<author><name>94.216.241.119</name></author>
	</entry>
</feed>