<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kollation &#8211; teufelsmoor.eu</title>
	<atom:link href="https://www.teufelsmoor.eu/Stichwort/kollation/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.teufelsmoor.eu</link>
	<description>Osterholz-Scharmbeck - Radfahren - Mac - Fotografie</description>
	<lastBuildDate>Fri, 20 Jan 2023 15:39:52 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1.1</generator>

<image>
	<url>https://www.teufelsmoor.eu/wp-content/uploads/cropped-Logo-Kahn-32x32.jpg</url>
	<title>Kollation &#8211; teufelsmoor.eu</title>
	<link>https://www.teufelsmoor.eu</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Falsche Umlaute nach Umstellung auf PHP 8.0</title>
		<link>https://www.teufelsmoor.eu/allgemein/falsche-umlaute-nach-umstellung-auf-php-8-0/</link>
					<comments>https://www.teufelsmoor.eu/allgemein/falsche-umlaute-nach-umstellung-auf-php-8-0/#respond</comments>
		
		<dc:creator><![CDATA[Heuser J]]></dc:creator>
		<pubDate>Fri, 20 Jan 2023 15:26:49 +0000</pubDate>
				<category><![CDATA[Dies & Das]]></category>
		<category><![CDATA[Gut zu wissen]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Kollation]]></category>
		<category><![CDATA[Latin1]]></category>
		<category><![CDATA[UTF-8]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://www.teufelsmoor.eu/?p=13699</guid>

					<description><![CDATA[Hieroglyphen statt ä, ö, ü, ß und anderer Sonderzeichen. Damit überraschte mich teufelsmoor.eu nach dem Wechsel der PHP-Version von 7.4 zu 8.0. Im Internet finden sich verschiedene mögliche Ursachen und demzufolge auch Lösungswege, nur einer davon hat bei mir funktioniert. Hat mich einen halben Tag gekostet, deswegen hier ein Kurzbericht, um evtl. Leidensgenossen vielleicht etwas &#8230; <p class="link-more"><a href="https://www.teufelsmoor.eu/allgemein/falsche-umlaute-nach-umstellung-auf-php-8-0/" class="more-link"><span class="screen-reader-text">„Falsche Umlaute nach Umstellung auf PHP 8.0“</span> weiterlesen</a></p>]]></description>
										<content:encoded><![CDATA[<p><figure id="php1" aria-describedby="caption-php1" style="width: 510px" class="wp-caption alignright"><a href="https://www.teufelsmoor.eu/wp-content/uploads/SkurileUmlaute.png"><img decoding="async" src="https://www.teufelsmoor.eu/wp-content/uploads/SkurileUmlaute-510x133.png" alt="" width="510" height="133" class="alignright size-large wp-image-13701" /></a><figcaption id="caption-php1" class="wp-caption-text"> </figcaption></figure>Hieroglyphen statt ä, ö, ü, ß und anderer Sonderzeichen. Damit überraschte mich <em>teufelsmoor.eu</em> nach dem Wechsel der PHP-Version von 7.4 zu 8.0.  Im Internet finden sich verschiedene mögliche Ursachen und demzufolge auch Lösungswege, nur einer davon hat bei mir funktioniert. Hat mich einen halben Tag gekostet, deswegen hier ein Kurzbericht, um evtl. Leidensgenossen vielleicht etwas Mühe zu sparen.<br />
<span id="more-13699"></span></p>
<h2>Hintergrund</h2>
<p>Beim Wechsel der PHP-Version hatte ich schon öfter mal Probleme, bislang zum Glück nur kleinere, die meist durch inkompatible Plugins verursacht waren. Diesmal aber lag es an meiner mittlerweile uralten mySQL-Datenbank, angelegt 2007 mit der damals für WordPress-Datenbanken üblichen <a href="https://de.wikipedia.org/wiki/ISO_8859-1">Latin-1-Kodierung nach ISO 8859-1</a>. Irgendwann in den späten 2000er-Jahren hat WordPress bei Neu-Installationen auf <a href="https://de.wikipedia.org/wiki/UTF-8">UTF-8</a> umgestellt, blieb aber bis inkl. PHP-Version 7.4 in der Lage, die in meiner Datenbank gespeicherten Artikel korrekt darzustellen.</p>
<p>Damit war es jetzt plötzlich vorbei. Von Strato sanft überredet (&#8230; extended support für PHP 7.4 ab Februar monatlich € 7.81) wechselte ich zu PHP 8.0 und hatte schlagartig Buchstabensalat. Zunächst habe ich probatorisch das <em>Theme</em> gewechselt und alle <em>Plugins</em> deaktiviert. Ohne Erfolg. Die Analyse der Datenbank mittels <em>PhpMyAdmin</em> (auf der STRATO-Admin-Seite unter <em>Datenbanken und Webspace > Datenbankverwaltung</em>) zeigte eine wilde Mischung von Zeichensätzen (=Kollationen) bei den Tabellen. Für die originären Text-Tabellen wie <em>wp_posts</em> und <em>wp_comments</em> war latin-1 eingestellt und ein Blick in diese Tabellen zeigte auch, dass der Text in den Feldern <em>post_content</em> bzw. <em>comment_content</em> latin-1-kodiert war.</p>
<h2>Lösungswege</h2>
<p>Im Internet kursieren diverse Lösungswege, die bei zumindest ähnlichen Konstellationen wie der meinigen geholfen haben sollen. Bei mir aber nicht &#8230; bis auf eine.</p>
<p>Nichts geändert haben diverse Versuche, den <em>CHARSET UTF-8</em> zu &#8222;erzwingen&#8220;, weder im Header noch in der <em>wp_config.php</em> oder der <em>.htaccess</em>-Datei. Ebenfalls unwirksam war das Umstellen der Tabellen-Kollation auf UTF-8 oder eine der &#8222;moderneren&#8220; UTF-8-Derivate mit Hilfe von <em>PhpMyAdmin</em>.</p>
<p>Die Lösung war letztlich diese zusätzliche Zeile in der <em>wp_config.php</em>:</p>
<pre>define('DB_CHARSET', 'latin1');</pre>
<p>In meinem Setting also <em>latin1</em> und nicht <em>utf-8</em>, wie in einigen Quellen zu lesen war. Und es war auch nicht egal, wo ich diese Zeile eingefügt hatte. Es funktionierte nur an dieser Stelle,</p>
<pre>
// ** MySQL Einstellungen ** //
//define('WP_CACHE', true); //Added by WP-Cache Manager
define('DB_NAME', '???????');    // Der Name der Datenbank, die du benutzt.
define('DB_USER', '???????');     // Dein MySQL-Datenbank-Benutzername.
define('DB_PASSWORD', '??????????'); // Dein MySQL-Passwort.
define('DB_HOST', 'rdbms.strato.de'); // In 99% der Fälle musst du hier nichts ändern.
define('DB_CHARSET', 'latin1');
</pre>
<p>und nicht, wenn sie weiter hinten in der Datei stand.</p>
<h2>Anmerkungen</h2>
<p>Ältere WordPress-Installationen sind im Zuge diverser Aktualisierungen offenbar recht uneinheitlich, was die verwendeten Zeichensätze und deren Interpretationen angeht. Was bei Anderen hilfreich war, hat bei mir nicht funktioniert. Ich drücke die Daumen, dass dieser Lösungsweg dem Einen oder Anderen nützlich ist, letztlich muss man wahrscheinlich einfach ein bisschen herumprobieren.</p>
<p>Wenn alle Wege scheitern, hilft nur eine systematische Bereinigung der Datenbank selbst. </p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.teufelsmoor.eu/allgemein/falsche-umlaute-nach-umstellung-auf-php-8-0/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
