[CSProjects] Despre diacritice
Lucian Cojocar
cojocar at gmail.com
Wed Aug 29 22:04:03 EEST 2007
On 29/08/2007, Lucian Cojocar <cojocar at gmail.com> wrote:
> On 12/08/2007, Vlad Dogaru <ddvlad at anaconda.cs.pub.ro> wrote:
> > Salut,
> >
> > dacă nu cumva o să fie şters între timp, vă aduc atenţiei fişierul
> > http://cspay.anaconda.cs.pub.ro/iw/download.php?f=libspreadconv0GJBqJ.ods.
> > Am folosit pentru nume diacritice şi au apărut întocmai în fişierul
> > final, ceea ce probabil este rezultatul câtorva lucruri:
> >
> > 1. PHP are suport Unicode. Şi fie au lucrat băieţii noştri cu grijă faţă
> > de diacritice, fie e foarte transparent acest suport. Either way,
> > recunosc (prima şi ultima oară :P) că am subestimat PHP-ul.
> >
> > 2. anaconda este Unicode-aware. Kudos to Razvan and Debian.
> >
> > 3. Bibliotecile în C lucrează la nivel de octet. Asta e normal, dar nu
> > îmi venise în minte că o să aibă efectul de a păstra caracterele
> > intacte, atâta timp cât encoding-ul e pus corect.
>
> Salutare,
> chestia asta este periculoasa, pentru ca personal.ini care rezulta din
> scriptul php este codat UTF-8. Apoi libiniparser il citeste ca fiind
> ASCII, deci strlen nu mai functioneaza cum trebuie + alte hazarduri de
> aici.
>
Se pare ca m-am pripit :).
Singurul pericol era la aparitia caracterului NULL in fisierul UTF-8,
care este imposibila:
http://en.wikipedia.org/wiki/UTF-8#Compared_to_UTF-16
"Byte values of 0 (The ASCII NUL character) do not appear in the
encoding unless U+0000 (the Unicode NUL character) is represented.
This means that legacy C library string functions (such as strcpy())
that use a null terminator will not incorrectly truncate strings."
In concluzie cspay functioneaza si cu diacritice fara sa facem nicio modificare.
P.S. scuze
Lucian
More information about the cspay-dev
mailing list