[CSProjects] Despre diacritice

Vlad Dogaru ddvlad at anaconda.cs.pub.ro
Thu Aug 30 14:19:47 EEST 2007


Alex Eftimie wrote:
> On 8/29/07, Lucian Cojocar <cojocar at gmail.com> wrote:
>> 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
> 
> Se accepta :)). Eu am zis: ma, daca merge, de ce sa schimbam?

Probabil răspunsul ar fi fost că e posibil să nu meargă pe _toate_ 
cazurile. Oricum, mă bucur că cineva şi-a pus problema asta şi a răspuns 
la ea, chiar dacă s-a dovedit a nu fi o problemă în sensul real al 
cuvântului (să sperăm).

Vlad

-- 
Number one reason to date an engineer:
The world does revolve around us; we pick the coordinate system.



More information about the cspay-dev mailing list