WLW: probleme cu î şi ă?


După cum aţi putut citi şi pe CNet.ro, acum câteva zile Microsoft, prin pachetul Windows Live, a lansat câteva versiuni noi ale unor programe mai vechi. Windows Live Writer a ajuns să poarte acum la descriere "versiunea 2008" şi recunosc că l-am aşteptat cu mare emoţie. Voi scrie despre el mai pe larg luni. De luni de zile, de anul trecut tot aştept să scriu despre el, să scriu de bine, dar nu mi se arată…

img13

Am să spun totuşi de pe acum că WLW are nişte îmbunătăţiri ce pot fi catalogate chiar spectaculoase. Continuă să aibă însă şi nişte hibe urâte, dar unele pot fi remediate. Pentru cei grăbiţi să îl utilizeze m-am gândit să vin de astăzi cu o soluţie. Mai întâi să privim următoarele două capturi. În prima vedeţi textul scris, în a doua sursa (apăsaţi pe SHIFT+F11 pentru a vedea sursa; CTRL+F11 pentru a reveni la afişarea frumoasă). Vedem deja nişte ciudăţenii la î şi ă. Dar lucrurile nu se opresc aici. După ce publicaţi veţi observa probleme nu doar la conţinutul articolului ci şi la titlu.

img14 img100

img101

Totuşi… dacă privim în preview articolul vom vedea că totul este… 100% perfect. Evident, ţinând cont că î este î (ş.a.m.d.). Lucrul la care trebuie să fiţi atent (dacă nu vă deranjează această "urâţire" din titluri şi conţinuturi) este slug-ul articolului. Am făcut teste cu Windows Live Writer pe mai multe bloguri şi mai multe sisteme de bloguri. În mai multe cazuri la WordPress, în slug literele Î, Â, î şi â au dispărut. Adică un articol spre exemplu "Ce am să fac mâine?" a primit ca slug ce-am-sa-fac-mine în loc de ce-am-sa-fac-maine. Sau "Excursie în Franţa" devine excursie-n-franta. Din fericire WLW 2008 oferă posibilitatea de indica slug-ul înainte de publicare (bravo!), dar oricum rămâne o grijă în plus. Putem însă şi să apelăm la un scurt plugin WordPress.

<?php
/**
Plugin Name: corecteazaWLW
Author URI: http://www.capan.ro
Plugin URI: http://www.cnet.ro
Description: Corecteaza niste probleme de afisare dinspre WLW
Author: Radu Capan
Version: 0.1
*/

add_action('title_save_pre', 'corecteazaWLWt');
add_action('content_save_pre', 'corecteazaWLWc');

function corecteazaWLWt($titlu){
     //schimbarile in titlu
     $titlu = str_replace("&acirc;","â",$titlu);
     $titlu = str_replace("&icirc;","î",$titlu);
     $titlu = str_replace("&Acirc;","Â",$titlu);
     $titlu = str_replace("&Icirc;","Î",$titlu);
     return $titlu;
}

function corecteazaWLWc($titlu){
     //schimbarile in continut
     $titlu = str_replace("&#xE2;","â",$titlu);
     $titlu = str_replace("&#xEE;","î",$titlu);
     $titlu = str_replace("&#xC2;","Â",$titlu);
     $titlu = str_replace("&#xCE;","Î",$titlu);
     return $titlu;
}
?>

După cum se poate "citi" din cod, practic se intervine asupra titlului şi conţinutului înainte ca să se facă salvarea în baza de date. Se fac corecturile de rigoare şi gata!

Vă recomand, dacă doriţi să folosiţi Windows Live Writer să scrieţi un articol cu Î, Â, î şi â în titlu şi în corp. Publicaţi (nu ca draft ci publicaţi) la o dată viitoare, ca să nu apară pe blog. Apoi mergeţi în secţiunea de administrare şi vedeţi cum arată titlul şi conţinutul, cum se văd online, dar mai ales cum este slug-ul. Dacă slug-ul este OK şi nu vă deranjează caracterele ciudate din sursă (dar care se văd bine pe blog) atunci nu aveţi nevoie de acest plugin. Pentru ceilalţi… să îl folosiţi cu bucurie (presupunând că funcţionează şi la Dvs)!

PS: Nu uitaţi să ştergeţi post-ul publicat de probă. Aveţi aici pluginul ca fişier text. Va trebui să îi puneţi extensia php, să îl publicaţi în wp-content/plugins şi să îl activaţi apoi. Dacă nu merge asiguraţi-vă că are encoding-ul UTF8.


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (1 evaluări, media: 5,00 din 5)
Loading...Loading...

1 comentariu

  1. Sorel spune:

    Huh. Sincere mulţumiri. Totuşi e ciudat, mie-mi schimbă doar în titlu..


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *