<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>[A5] config file routines support UTF-8?</title>
		<link>http://www.allegro.cc/forums/view/606350</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Wed, 09 Feb 2011 20:22:17 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Do the Allegro 5 config file routines support UTF-8?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (axilmar)</author>
		<pubDate>Wed, 09 Feb 2011 19:44:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You can do this:
</p><div class="source-code snippet"><div class="inner"><pre><a href="http://www.allegro.cc/manual/al_set_config_value"><span class="a">al_set_config_value</span></a><span class="k2">(</span>cfg, <span class="s">"foo"</span>, <span class="s">"bar"</span>, <a href="http://www.allegro.cc/manual/al_cstr"><span class="a">al_cstr</span></a><span class="k2">(</span>str<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
See <span class="source-code"><a href="http://www.allegro.cc/manual/al_cstr"><span class="a">al_cstr</span></a></span> for a list of warnings. (<span class="source-code"><a href="http://www.allegro.cc/manual/al_ustr_to_buffer"><span class="a">al_ustr_to_buffer</span></a></span> or <span class="source-code"><a href="http://www.allegro.cc/manual/al_cstr_dup"><span class="a">al_cstr_dup</span></a></span> could be used to avoid those problems.)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Wed, 09 Feb 2011 20:00:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks. Apparently allegro config files can contain UTF-8, and therefore they are also useful as translation files.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (axilmar)</author>
		<pubDate>Wed, 09 Feb 2011 20:03:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>From an end-user perspective, the only thing that is relevant is that they are saving the file with UTF-8 encoding. Then you&#39;ll get the support &quot;for free.&quot;</p><p>e.g.,</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="k2">{</span>
  <span class="k1">const</span> <span class="k1">char</span> euro<span class="k2">[</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">{</span><span class="n">0xe2</span>, <span class="n">0x82</span>, <span class="n">0xac</span>, <span class="n">0</span><span class="k2">}</span><span class="k2">;</span>
  <a href="http://www.allegro.cc/manual/ALLEGRO_USTR"><span class="a">ALLEGRO_USTR</span></a> <span class="k3">*</span>str<span class="k2">;</span>
  <a href="http://www.allegro.cc/manual/al_init"><span class="a">al_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>

  str <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_ustr_new"><span class="a">al_ustr_new</span></a><span class="k2">(</span>euro<span class="k2">)</span><span class="k2">;</span>

  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"%d\n"</span>, <a href="http://www.allegro.cc/manual/al_ustr_length"><span class="a">al_ustr_length</span></a><span class="k2">(</span>str<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>

  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>

reports <tt>1</tt> as the length of the string, as it should. It doesn&#39;t matter if the source comes from a hard coded string or the result of a config file read.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Wed, 09 Feb 2011 20:22:17 +0000</pubDate>
	</item>
</rss>
