<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Zeichensatzkonvertieren usw.]]></title><description><![CDATA[<p>Also, das ist jetzt an die gerichtet, die sich ein wenig mit UNICODE, utf-8 usw. auskennen.</p>
<p>Ich hab jetzt eine MySQL-Datenbank. Deren Daten sind im utf-8 Zeichensatz abgespeichert. Grund ist, dass das Programm mit möglichst <strong>alle</strong> Sprachen der Welt zurecht kommen soll und das MySQL-C-API kein UNICODE unterstützt.<br />
So, ergibt sich aber aus den Inhalt von der ein oder anderen Spalte dann der Name einer Datei. Dieser Dateiname soll natürlich im ANSI-Zeichensatz vorliegen. D.h. werden nur alle Buchstaben von 'a' ... 'z', 'A' ... 'Z' unterstützt. Doch wie kann ich nun das aus einem utf8-String machen? Also das ich hingehe und wenn da bsw. &quot;déc_08&quot; steht, daraus &quot;dec_08&quot; werden soll (wobei nur die 1. drei Zeichen zu beachten sind).</p>
<p>Und wie kann ich einen wchar_t per utf8 in einen char packen und wie einen utf-8-codierten string zu einem wchar_t-string?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/198568/zeichensatzkonvertieren-usw</link><generator>RSS for Node</generator><lastBuildDate>Fri, 02 Oct 2026 07:59:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/198568.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 22 Nov 2007 20:36:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeichensatzkonvertieren usw. on Thu, 22 Nov 2007 20:36:55 GMT]]></title><description><![CDATA[<p>Also, das ist jetzt an die gerichtet, die sich ein wenig mit UNICODE, utf-8 usw. auskennen.</p>
<p>Ich hab jetzt eine MySQL-Datenbank. Deren Daten sind im utf-8 Zeichensatz abgespeichert. Grund ist, dass das Programm mit möglichst <strong>alle</strong> Sprachen der Welt zurecht kommen soll und das MySQL-C-API kein UNICODE unterstützt.<br />
So, ergibt sich aber aus den Inhalt von der ein oder anderen Spalte dann der Name einer Datei. Dieser Dateiname soll natürlich im ANSI-Zeichensatz vorliegen. D.h. werden nur alle Buchstaben von 'a' ... 'z', 'A' ... 'Z' unterstützt. Doch wie kann ich nun das aus einem utf8-String machen? Also das ich hingehe und wenn da bsw. &quot;déc_08&quot; steht, daraus &quot;dec_08&quot; werden soll (wobei nur die 1. drei Zeichen zu beachten sind).</p>
<p>Und wie kann ich einen wchar_t per utf8 in einen char packen und wie einen utf-8-codierten string zu einem wchar_t-string?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408471</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 22 Nov 2007 20:36:55 GMT</pubDate></item><item><title><![CDATA[Reply to Zeichensatzkonvertieren usw. on Thu, 22 Nov 2007 21:00:57 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>So, ergibt sich aber aus den Inhalt von der ein oder anderen Spalte dann der Name einer Datei. Dieser Dateiname soll natürlich im ANSI-Zeichensatz vorliegen. D.h. werden nur alle Buchstaben von 'a' ... 'z', 'A' ... 'Z' unterstützt. Doch wie kann ich nun das aus einem utf8-String machen? Also das ich hingehe und wenn da bsw. &quot;déc_08&quot; steht, daraus &quot;dec_08&quot; werden soll (wobei nur die 1. drei Zeichen zu beachten sind).</p>
</blockquote>
<p>Du könntest den Namen per <a href="http://de.wikipedia.org/wiki/Punycode" rel="nofollow">Punycode</a> kodieren. Das ist dann zwar nicht mehr besonders menschenlesbar, aber es verwendeten einen kleinen Zeichensatz und liefert sogar eindeutige Namen.</p>
<blockquote>
<p>Und wie kann ich einen wchar_t per utf8 in einen char packen und wie einen utf-8-codierten string zu einem wchar_t-string?</p>
</blockquote>
<p>In Boost gibt's zB eine codecvt-Facette dafür (<a href="http://www.boost.org/libs/serialization/doc/codecvt.html" rel="nofollow">http://www.boost.org/libs/serialization/doc/codecvt.html</a>).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408482</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Thu, 22 Nov 2007 21:00:57 GMT</pubDate></item></channel></rss>