<?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>Software-Wahnsinn &#187; html-entität</title>
	<atom:link href="http://www.software-wahnsinn.de/tag/html-entitaet/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.software-wahnsinn.de</link>
	<description>Neues vom alltäglichen Wahnsinn (nicht nur) der Software-Technik</description>
	<lastBuildDate>Wed, 01 Dec 2010 19:00:29 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>Das b&#246;se e</title>
		<link>http://www.software-wahnsinn.de/231-das-boese-e/</link>
		<comments>http://www.software-wahnsinn.de/231-das-boese-e/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 06:04:11 +0000</pubDate>
		<dc:creator>Ingo</dc:creator>
				<category><![CDATA[Alltäglicher Wahnsinn]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Software-Wahnsinn]]></category>
		<category><![CDATA[estimated e]]></category>
		<category><![CDATA[estimated symbol]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html-entität]]></category>
		<category><![CDATA[iso-8859-1]]></category>
		<category><![CDATA[iso-8859-15]]></category>
		<category><![CDATA[live http-headers]]></category>
		<category><![CDATA[mb_convert_string]]></category>
		<category><![CDATA[unicode]]></category>
		<category><![CDATA[utf-8]]></category>
		<category><![CDATA[windows-1252]]></category>

		<guid isPermaLink="false">http://www.software-wahnsinn.de/?p=231</guid>
		<description><![CDATA[Gestern hat mich ein ganz besonderer Buchstabe in den Wahnsinn getrieben: Das ?! Nicht das jemand glaubt, e = ?. Denn wenn man genau hinsieht, dann ist e ? ? Es handelt sich n&#228;mlich hierbei um das sog. &#8220;estimated e&#8221; auf Verpackungen. Dieses ist ein Sonderzeichen, welches Windows, Mac und Linux eigentlich unbekannt ist und [...]]]></description>
			<content:encoded><![CDATA[<p>Gestern hat mich ein ganz besonderer Buchstabe in den Wahnsinn getrieben: Das ?! Nicht das jemand glaubt, e = ?. Denn wenn man genau hinsieht, dann ist</p>
<p style="padding-left: 30px;font-size:30px;">e ? ?</p>
<p>Es handelt sich n&#228;mlich hierbei um das sog. <a href="http://de.wikipedia.org/wiki/Europ%C3%A4ische_Fertigpackungsrichtlinie" target="_blank">&#8220;estimated e&#8221; auf Verpackungen</a>. Dieses ist ein Sonderzeichen, welches Windows, Mac und Linux eigentlich unbekannt ist und sich in Word und HTML aber herbei zaubern l&#228;sst. Des R&#228;tsels L&#246;sung lautet <a href="http://de.wikipedia.org/wiki/Unicode" target="_blank">Unicode</a>: Hier hat das Estimated Symbol die Position 8494 bzw. U+212e und dementsprechend die <a href="http://de.wikipedia.org/wiki/HTML-Entit%C3%A4t" target="_blank">HTML-Entit&#228;t</a> &amp;#8494; bzw. &amp;#x212e;.</p>
<p>Wenn jetzt dieses &#8220;magische e&#8221; in einem HTML-Formular eingegeben wird und das Formular in PHP weiterverarbeitet wird, hat man ein Problem. Denn wie ich nach langem Suchen herausfinden konnte, wird dieses magische e bereits vom Browser in die numerische HTML-Entit&#228;t umgewandelt, bevor der Request an den Server &#252;bermittelt wird. Herausfinden konnte ich das im &#220;brigen mit der genialen Firefox-Erweiterung &#8220;<a href="https://addons.mozilla.org/de/firefox/addon/3829" target="_blank">Live HTTP-Headers</a>&#8220;.</p>
<p>Zur&#252;ck zu meinem Problem: Es wurde also in einem HTML-Formular dieses b&#246;se ? eingegeben und diese Eingabe sollte sp&#228;ter in einer E-Mail-Benachrichtigung ihren Platz finden. Da bereits der Browser die Umwandlung in eine HTML-Entit&#228;t durchf&#252;hrte, musste diese nun PHP-seitig wieder r&#252;ckg&#228;ngig gemacht werden. Leichter gesagt als getan. Denn eine String-Konvertierung mittels <a href="http://www.php.net/manual/de/function.mb-convert-encoding.php" target="_blank">mb_convert_encoding</a> f&#252;hrte nicht zum Ziel. Egal, ob ich nach <a href="http://de.wikipedia.org/wiki/ISO-8859-1" target="_blank">ISO-8859-1</a>, <a href="http://de.wikipedia.org/wiki/ISO-8859-15" target="_blank">ISO-8859-15</a>, <a href="http://de.wikipedia.org/wiki/Windows-1252#Windows-1252" target="_blank">Windows-1252</a> oder auch <a href="http://de.wikipedia.org/wiki/Utf-8" target="_blank">UTF-8</a> konvertierte, das Ergebnis blieb das gleiche: Aus ? wurde ?</p>
<p>Nach R&#252;cksprache mit dem Kunden habe ich dann eines gemacht:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$msg</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&amp;amp;#8494;'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'e'</span><span style="color: #339933;">,</span><span style="color: #000088;">$msg</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Da das ? kaum von einem normalen e zu unterscheiden ist, steht zuk&#252;nftig ein normales e in den Benachrichtigungs-Mails geschrieben.</p>
<p>Die letztendliche Implementierung hat nicht lange gedauert. Die Suche, warum sich das ? so seltsam verh&#228;lt, allerdings &#252;ber zwei Stunden <img src='http://www.software-wahnsinn.de/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.software-wahnsinn.de/231-das-boese-e/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

