Conversie automată a charset-ului mySQL pentru WordPress

Cred că una din greșelile cele mai mari făcute de utilzatorii WordPress este setarea charset-ului bazei de date la armscii8_bin (sau care o fi default la momentul nașterii blogului). Asta nu înseamnă mare lucru pentru majoritatea utilizatorilor, dar unor comentatori le place să se simtă mai români decât restul. Prin urmare, încearcă să scrie cu diacritice. Cum baza de date este setată aiurea, diacriticele reprezintă un semn de întrebare. La propriu. Pentru că în loc de fiecare literă necunoscută se afișează ?.

Soluția

De fapt ai două soluții.

Prima este bună pentru nopțile în care nu ai somn, prietenii nu te mai vor iar nevasta te refuză. Deschizi PhpMyAdmin și începi să editezi fiecare câmp în parte.

A doua este să creezi un fișier – să zicem db-convert.php – în root (chiar lângă wp-config) în care pui următoarele:

<?php
require_once('wp-config.php');

mysql_connect(DB_HOST,DB_USER,DB_PASSWORD);
mysql_select_db(DB_NAME);

$utf = "utf8_unicode_ci"; //

echo "<ul>";
$res = mysql_query("SHOW TABLES");
while ($row = mysql_fetch_array($res)){
  foreach ($row as $key => $table){
      mysql_query("ALTER TABLE " . $table . " CONVERT TO CHARACTER SET utf8 COLLATE ".$utf);
      echo "<li>".$table." : <strong>ok</strong></li>";
  }
}
echo "</ul>";

Tot ce trebuie să faci după aceea este să accesezi blogul-tau/db-convert.php.

Felicitări! Ai cu 5% mai mulți comentatori fericiți :D

Ți-a plăcut articolul? Lasă un comentariu!

You can insert code snippets using BBcode:
[js].[/js] [html].[/html] [php].[/php] [css].[/css]
You can also use some HTML tags:
<blockquote>.</blockquote> <code>.</code> <a href="">.</a> <strong>.</strong> <em>.</em>

windows apple dropbox facebook twitter