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

Math.floor() quick tip

Știai că în loc de

Math.floor(2.5);

sau

parseInt(2.5, 10);

poti folosi:

~~(1*2.5);

Sau chiar:

0|2.5

Nu? Nici eu, dar am aflat azi! :D
Detalii aici.

Sursa.

Link-urile săptămânii 2-8 august 2010

  • input type=”file” redefinit. O metodă un pic îmbunătățită față de ce foloseam eu de obicei. Încă n-am apucat să-l folosesc, dar pare ok.
  • Tutorial pentru Twitter oAuth API;
  • jQuery vs jQuery sau cum diferă unele funcții din jQuery între ele, chiar dacă la prima vedere fac același lucru;
  • alert() vs console(). Cam ce ziceam și eu acu vreo două-trei săptămâni;
  • Internet Explorer 9 este disponibil. Un preview, al patrulea, dar care promite multe. Cel mai mult îmi place că va suporta multe treburi din CSS3;
  • Lucruri pe care nu le știai despre comentariile condiționale. Cel puțin sunt unele pe care eu nu le știam!
  • jQuery hotkeys. Long story short, poți atașa evenimente (sună aiurea în română, știu!) tastelor sau combinațiilor de taste într-un mod foarte simplu:
    $(expression).bind(types, keys, handler);
    $(expression).unbind(types, handler);
    
    $(document).bind('keydown', 'ctrl+a', fn);
    
    // e.g. replace '$' sign with 'EUR'
    $('input.foo').bind('keyup', '$', function(){
      this.value = this.value.replace('$', 'EUR');
    });
    

Partea a doua conține numai link-uri despre WordPress dintr-un motiv foarte simplu: cu asta m-am „luptat” în ultimele zile :D