Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 10 total
Thread Can someone straighten me out about Unicode ?
Wed, Feb 20 2013 3:46 AMPermanent Link

John Taylor

Developing currently in Delphi 2007...

I've been using dbisam 4 for years now and I know it doesn't support
Unicode, so I'm migrating to Elevatedb for that reason.  Some questions have
arisen which sort of relate to elevatedb and unicode.

I've already localized the app before migrating to dbisam using Localizer
(korzh.com) .  The languages I'm interested in are French, German, Spanish,
Italian, Portuguese, Hebrew and a few others, not interested in Japanese or
Chinese and the like.  My user interface consists of DevExpress ribbon
controls, QuantumGrid, etc.  I proceeded with my initial localization which
*did* localize the user interface and almost all controls correctly display
German characters (umlauts, etc.).  After thinking about that I became
confused as to why localization was even possible in Delphi 2007 since it
does not support Unicode ?!  That is my first question, does anyone here
know how that could be possible ?  I then realized that localized or not
with dbisam nothing is going to be stored correctly in the database as far
as text goes, leading to the second question which I believe I know the
answer to...

Assuming the localization can be done in Delphi 2007, would simply changing
the app to use Eleveatedb be all that is required to accomplish the complete
localization ?

And finally a last question...  Perhaps I don't know what Unicode really
is... I was thinking that Unicode only applied to chinese, etc. type
languages but does German, Spanish and the like require Unicode ?  and... is
English the only non-Unicode language ?

Feeling a bit silly and confused at the moment.  Any help would be sincerely
appreciated !

JT
Wed, Feb 20 2013 4:47 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

John


>After thinking about that I became
>confused as to why localization was even possible in Delphi 2007 since it
>does not support Unicode ?!

Three points (I think)

1.Many of the languages you're talking about (French, German, Spanish, Italian, Portuguese, Hebrew) don't require unicode (I think Hebrew might) but are adequately covered by code pages

2. You can use unicode in Dxxxx as long as you can find controls that support it. The main one used to be tnt who were bought (or something) by TMS Software. Other control sets may well support unicode

3. Databases of any kind can generally store unicode (after all its just bits and bytes), what they can't do unless designed for it is sort properly etc

>Assuming the localization can be done in Delphi 2007, would simply changing
>the app to use Eleveatedb be all that is required to accomplish the complete
>localization ?

I've always regarded localisation as the user interface, not how the data is stored. Otheres may have a different opinion

>And finally a last question... Perhaps I don't know what Unicode really
>is... I was thinking that Unicode only applied to chinese, etc. type
>languages but does German, Spanish and the like require Unicode ? and... is
>English the only non-Unicode language ?

Being a brit and only knowing one language (if you don't count computers) I don't really understand unicode either. However, my uneducated take on it is

Unicode is pretty much required for some languages if they are to be displayed in their native character set. Others could get by with code pages. "Normal" character sets get by using one byte to define a character. English, French, German etc all have less than 255 base characters so with a little bit of messing (the code page which says use this character not that one) they're easy. Chinese has thousands of "characters" so more than one byte is needed to store and display them. This is unicode. I think its called unicode because one coding system will cope with all character sets. Unfortunately there are different types of unicode UTF-8, UTF-16 for starters.

Hopefully someone will come along and set us both right.

>Feeling a bit silly and confused at the moment. Any help would be sincerely
>appreciated !

Welcome to the club - I call it life Smiley

Roy
Wed, Feb 20 2013 6:47 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

John


If you really want to get confused search the embarcadero delphi newsgroups for these subjects

Should I worry about composite characters in Delphi Unicode?
Unicode vs UTF-8 vs ANSI?????
UTF-8 backwards


Roy
Wed, Feb 20 2013 8:07 AMPermanent Link

John Taylor

Roy,

Heck no !  I'm confused enough as it is.

After some more reading, I believe that I can actually support certain
languages without going unicode and with dbisam 4 as long as those languages
don't require anything outside the 0-255 character codes, which I believe
would include: German, French, Spanish, Italian, Dutch (?) and maybe some
others.  I'm trying my best to not have to migrate to EDB at this time
although I did purchase a license, it will be more of a chore than I need at
this time.

JT

"Roy Lambert" <roy@lybster.me.uk> wrote in message
news:D5E40A1A-9381-47C5-A4F4-D3F9025FF7A9@news.elevatesoft.com...
> John
>
>
> If you really want to get confused search the embarcadero delphi
> newsgroups for these subjects
>
> Should I worry about composite characters in Delphi Unicode?
> Unicode vs UTF-8 vs ANSI?????
> UTF-8 backwards
>
>
> Roy
>
Wed, Feb 20 2013 8:16 AMPermanent Link

Uli Becker

John,

<< which I believe would include: German, French, Spanish, Italian,
Dutch (?) and maybe some others. >>

You won't need Unicode neither for Dutch.

Uli


Wed, Feb 20 2013 9:03 AMPermanent Link

Raul

Team Elevate Team Elevate

John,

> I've already localized the app before migrating to dbisam using
> Localizer (korzh.com) .  The languages I'm interested in are French,
> German, Spanish, Italian, Portuguese, Hebrew and a few others, not
> interested in Japanese or Chinese and the like.  My user interface

Like other said most of these are representable in ANSI using code
pages. The main question i would ask if whether you need to have more
than one of these languages in the same database.

What happens in ANSI is that the code page defines letters from 128-255
so French has a code page as does German and Hebrew. However the
representation is different so one example i've read about and like is
that in french 130 might be é but in hebrew same code is ג so if your
french user writes "résumés" and then your hebrew user opens the same
record they see "r×’sum×’s".

If there is no overlap in localizations then you're OK.

The unicode resolves this and gives every unique letter a code point and
code point for é is different than ג so no matter what local codepage is.


> Assuming the localization can be done in Delphi 2007, would simply
> changing the app to use Eleveatedb be all that is required to accomplish
> the complete localization ?
Again like others said the Delphi 2007 controls are not unicode so you'd
need to use either D2009+ or 3rd party controls.

>
> And finally a last question...  Perhaps I don't know what Unicode really
> is... I was thinking that Unicode only applied to chinese, etc. type
> languages but does German, Spanish and the like require Unicode ?
> and... is English the only non-Unicode language ?

English is below 128 so its ASCII which is usually same for all ANSI
pages hence it "always works".

Raul
Wed, Feb 20 2013 9:35 AMPermanent Link

John Taylor

Uli,

thanks for jumping in !  Yes, I have now figured that out and I *think* I'm
finally getting my mind wrapped around this thing.  I swore I would never
localize but here I am Smile

JT

"Uli Becker" <johnmuller54@googlemail.com> wrote in message
news:E8C24BA7-D9A8-469F-BF52-196F7BD7053A@news.elevatesoft.com...
> John,
>
> << which I believe would include: German, French, Spanish, Italian, Dutch
> (?) and maybe some others. >>
>
> You won't need Unicode neither for Dutch.
>
> Uli
>
>
>
Wed, Feb 20 2013 9:38 AMPermanent Link

John Taylor

Raul,

I should not need multiple languages in the same database, not even going to
support that, just localize the user interface and hope the data can be
represented appropriately in the database for strings like for example an
address book.

I'm staying away from Hebrew at the moment, I believe true unicode is
required there but again, not sure about anything concerning this topic

JT

"Raul" <raul@removethis.raul.ca> wrote in message
news:56773C1B-8A3E-4AB3-A328-63148B11B849@news.elevatesoft.com...
> John,
>
> > I've already localized the app before migrating to dbisam using
>> Localizer (korzh.com) .  The languages I'm interested in are French,
>> German, Spanish, Italian, Portuguese, Hebrew and a few others, not
>> interested in Japanese or Chinese and the like.  My user interface
>
> Like other said most of these are representable in ANSI using code pages.
> The main question i would ask if whether you need to have more than one of
> these languages in the same database.
>
> What happens in ANSI is that the code page defines letters from 128-255 so
> French has a code page as does German and Hebrew. However the
> representation is different so one example i've read about and like is
> that in french 130 might be é but in hebrew same code is ג so if your
> french user writes "résumés" and then your hebrew user opens the same
> record they see "r×’sum×’s".
>
> If there is no overlap in localizations then you're OK.
>
> The unicode resolves this and gives every unique letter a code point and
> code point for é is different than ג so no matter what local codepage is.
>
>
>> Assuming the localization can be done in Delphi 2007, would simply
>> changing the app to use Eleveatedb be all that is required to accomplish
>> the complete localization ?
> Again like others said the Delphi 2007 controls are not unicode so you'd
> need to use either D2009+ or 3rd party controls.
>
>>
>> And finally a last question...  Perhaps I don't know what Unicode really
>> is... I was thinking that Unicode only applied to chinese, etc. type
>> languages but does German, Spanish and the like require Unicode ?
>> and... is English the only non-Unicode language ?
>
> English is below 128 so its ASCII which is usually same for all ANSI pages
> hence it "always works".
>
> Raul
Wed, Feb 20 2013 9:55 AMPermanent Link

Raul

Team Elevate Team Elevate

John,

> I should not need multiple languages in the same database, not even
> going to support that, just localize the user interface and hope the
> data can be represented appropriately in the database for strings like
> for example an address book.

Good luck - address book is the most likely problem area. Names and
sometimes addresses.


> I'm staying away from Hebrew at the moment, I believe true unicode is
> required there but again, not sure about anything concerning this topic

There definitely is a code page for Hebrew - windows-1255 - but not sure
how well this covers the actual language.

Raul
Wed, Feb 20 2013 11:06 AMPermanent Link

Uli Becker

John,

maybe this link might be useful for you:

http://www.i18nguy.com/unicode/shma.html

Uli
Image