<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>mysql &amp;mdash; Verolinux</title>
    <link>https://verolinux.com/tag:mysql</link>
    <description>Esperimenti di software libero</description>
    <pubDate>Wed, 12 Aug 2026 15:15:37 +0200</pubDate>
    <item>
      <title>Configurazione DB per WriteFreely</title>
      <link>https://verolinux.com/configurazione-db-per-writefreely</link>
      <description>&lt;![CDATA[Seguendo la guida all&#39;installazione di #WriteFreely, nel caso si scelga di usare #MySQL come database, il consiglio è quello di impostare il set di caratteri a latin1 e la collation a latin1swedishci:&#xA;CREATE DATABASE writefreely CHARACTER SET latin1 COLLATE latin1swedishci;&#xA;Il motivo di questo setup è sostanzialmente &#34;storico&#34;, dovuto alle origini di MySQL che, come dovreste sapere, è stato inizialmente sviluppato da un&#39;azienda svedese.&#xA;!--more--&#xA;Tuttavia, prima di installare il software in produzione, mi sono chiesto se non fosse meglio adottare un set di caratteri e una collation differente, in modo da supportare anche caratteri multibyte come le emoji e i caratteri delle lingue che usano alfabeti diversi da quelli europei.&#xA;&#xA;Utilizzare il set di caratteri utf8mb4 potrebbe &#34;dare fastidio&#34; agli script di migrazione del database in occasione di aggiornamenti software. Tuttavia sembra che questi problemi riguardino esclusivamente versioni di MySQL precedenti la 8.0.&#xA;&#xA;Per fugare i dubbi in maniera piuttosto empirica, senza andare a spulciare il codice, ho fatto qualche breve test in locale impostando il database come segue:&#xA;CREATE DATABASE writefreely CHARACTER SET utf8mb4 COLLATE utf8mb40900ai_ci;&#xA;per avere una collation con lo standard Unicode 9.0.&#xA;&#xA;Successivamente ho installato una versione vecchia di WriteFreely, in particolare la 0.16, ed ho scritto una serie di post utilizzando caratteri unicode, impostando alcuni post come pinned e utilizzando anche gli hashtag, notoriamente problematici quando si usa WriteFreely con MySQL 8.&#xA;&#xA;Non avendo riscontrato problemi di sorta, ho poi provveduto a fare l&#39;aggiornamento dalla versione 0.16 a quella corrente, la 0.17.2, in modo da innescare gli script di migrazione del database.&#xA;&#xA;Il risultato non ha mostrato anomalie di sorta, tutti i post continuavano ad essere mostrati correttamente con i loro caratteri multibyte, come anche i pinned post e gli hashtag.&#xA;&#xA;Forte di questa verifica, sicuramente spartana ma comunque significativa, ho concluso che potevo usare lo stesso setup del database anche in produzione.]]&gt;</description>
      <content:encoded><![CDATA[<p>Seguendo la <a href="https://writefreely.org/start">guida all&#39;installazione</a> di <a href="https://verolinux.com/tag:WriteFreely" class="hashtag"><span>#</span><span class="p-category">WriteFreely</span></a>, nel caso si scelga di usare <a href="https://verolinux.com/tag:MySQL" class="hashtag"><span>#</span><span class="p-category">MySQL</span></a> come database, il consiglio è quello di impostare il set di caratteri a <code>latin1</code> e la <em>collation</em> a <code>latin1_swedish_ci</code>:</p>

<pre><code class="language-sql">CREATE DATABASE writefreely CHARACTER SET latin1 COLLATE latin1_swedish_ci;
</code></pre>

<p>Il motivo di questo setup è sostanzialmente “storico”, dovuto alle origini di MySQL che, come dovreste sapere, è stato inizialmente sviluppato da un&#39;azienda svedese.

Tuttavia, prima di installare il software in produzione, mi sono chiesto se non fosse meglio adottare un set di caratteri e una collation differente, in modo da supportare anche caratteri multibyte come le emoji e i caratteri delle lingue che usano alfabeti diversi da quelli europei.</p>

<p>Utilizzare il set di caratteri <code>utf8mb4</code> potrebbe “dare fastidio” agli script di migrazione del database in occasione di aggiornamenti software. Tuttavia sembra che questi problemi riguardino esclusivamente versioni di MySQL precedenti la 8.0.</p>

<p>Per fugare i dubbi in maniera piuttosto empirica, senza andare a spulciare il codice, ho fatto qualche breve test in locale impostando il database come segue:</p>

<pre><code class="language-sql">CREATE DATABASE writefreely CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
</code></pre>

<p>per avere una collation con lo standard Unicode 9.0.</p>

<p>Successivamente ho installato una versione vecchia di WriteFreely, in particolare la 0.16, ed ho scritto una serie di post utilizzando caratteri unicode, impostando alcuni post come <em>pinned</em> e utilizzando anche gli hashtag, notoriamente problematici quando si usa WriteFreely con MySQL 8.</p>

<p>Non avendo riscontrato problemi di sorta, ho poi provveduto a fare l&#39;aggiornamento dalla versione 0.16 a quella corrente, la 0.17.2, in modo da innescare gli script di migrazione del database.</p>

<p>Il risultato non ha mostrato anomalie di sorta, tutti i post continuavano ad essere mostrati correttamente con i loro caratteri multibyte, come anche i pinned post e gli hashtag.</p>

<p>Forte di questa verifica, sicuramente spartana ma comunque significativa, ho concluso che potevo usare lo stesso setup del database anche in produzione.</p>
]]></content:encoded>
      <guid>https://verolinux.com/configurazione-db-per-writefreely</guid>
      <pubDate>Tue, 11 Aug 2026 21:48:31 +0200</pubDate>
    </item>
  </channel>
</rss>