Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>This is a charset issue. As such, it can have gone wrong on many different levels, but most likely, the strings in your database are utf-8 encoded, and you are presenting them as iso-8859-1. Or the other way around.</p> <p>The proper way to fix this problem, is to get your character-sets straight. The simplest strategy, since you're using PHP, is to use iso-8859-1 throughout your application. To do this, you must ensure that:</p> <ul> <li>All PHP source-files are saved as iso-8859-1 (Not to be confused with cp-1252).</li> <li>Your web-server is configured to serve files with <code>charset=iso-8859-1</code></li> <li>Alternatively, you can override the webservers settings from within the PHP-document, using <a href="http://docs.php.net/manual/en/function.header.php" rel="noreferrer"><code>header</code></a>.</li> <li>In addition, you <em>may</em> insert a meta-tag in you HTML, that specifies the same thing, but this isn't strictly needed.</li> <li>You <em>may</em> also specify the <code>accept-charset</code> attribute on your <code>&lt;form&gt;</code> elements.</li> <li>Database tables are defined with encoding as latin1</li> <li>The database connection between PHP to and database is set to latin1</li> </ul> <p>If you already have data in your database, you should be aware that they are probably messed up already. If you are not already in production phase, just wipe it all and start over. Otherwise you'll have to do some data cleanup.</p> <h3>A note on meta-tags, since everybody misunderstands what they are:</h3> <p>When a web-server serves a file (A HTML-document), it sends some information, that isn't presented directly in the browser. This is known as HTTP-headers. One such header, is the <code>Content-Type</code> header, which specifies the mimetype of the file (Eg. <code>text/html</code>) as well as the encoding (aka charset). While most webservers will send a <code>Content-Type</code> header with <code>charset</code> info, it's optional. If it isn't present, the browser will instead interpret any meta-tags with <code>http-equiv="Content-Type"</code>. It's important to realise that the meta-tag is <strong>only</strong> interpreted if the webserver doesn't send the header. In practice this means that it's only used if the page is saved to disk and then opened from there.</p> <p><a href="http://www.phpwact.org/php/i18n/charsets" rel="noreferrer">This page</a> has a very good explanation of these things.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload