Re: Caracters in other languages

new topic     » goto parent     » topic index » view thread      » older message » newer message

----- Original Message -----=20
From: <rml at rubis.trix.net>
To: "EUforum" <EUforum at topica.com>
Subject: Caracters in other languages




Hi Euforians;

         I'm having problems with caracters with an accent in portuguese
and euphoria. If I use uppercase, they are not changed to uppercase, they
changed into spaces (or no asc caracters.)
For example: =E9, =E7, =E3, =E1 and so on.
The same happens when I use getc to read a txt file that cotains these
caracters.
         My computer is running win2000 in english, with locale in
brazilian portuguese.

         Any suggestion ?

---------
Derek replies...

The Euphoria upper() and lower() functions only work for the English
alphabet and only for ASCII character sets.


sequence UC,LC

UC =3D repeat(1, 255)
for i =3D 1 to length(UC) do
   UC[i] =3D i
end for
LC =3D UC
UC['a'] =3D 'A'
UC['b'] =3D 'B'
. . .
UC['=E9'] =3D '=C9'
. . .
LC['A'] =3D 'a'
LC['B'] =3D 'b'
. . .
LC['=C9'] =3D '=E9'
. . .

function Upper(object x)
   if integer(x) and x > 0 and x < 256 then
       return UC[x]
   elsif sequence(x) then
       for i =3D 1 to length(x) do
           x[i] =3D Upper(x[i])
       end for
   end if
end function

and similar for your Lower function.

These are slower than the Euphoria ones, but a lot more accurate.
--=20
Derek

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu