Unicode question.

Hi. I am planning an installation of Axapta. We have some users in the Czech Republic and I was wondering if I should have “Initialize Database for Unicode” checked when setting up Axapta? BR /TLA

Hi Thomas, I am not familiar with characters in that country. But need be you can switch on ‘Initialize database for unicode’. As you are already aware this would slow down performance of Axapta. And I am not sure whether you are aware of this. One of the documents that I have on Axapta 4.0 says from ver 4.0, Axapta would provide full unicode support. Best regards, Harish Mohanbabu

Hi Thomas! If you have ONLY czech users, I think you could also setup the SQL Database to run with Czech collation. If you plan, however, to have e.g. danish, english and czech users (= data in these languages), you should use Unicode. My recommendation is: use Unicode if you are installing Axapta in a non Western European country. The performance slowdown is minimal.

Hi Thanks for your responds… There will be users from Czech Republic and scandinavia. The DB-backend is Oracle - and I can understand that the performance-impact is very little (1% extra CPU-load on AOS’es and DB-server). I’ll go for UniCode… BR Thomas

Hi, You must initialize with unicode when ever there will be accented characters in your data. Otherwise X++ does not differentiate nonaccented characters form accented ones. It is easy test with running this code: Print (‘Ä’==‘A’); Pause; which gives 0=false only with unicode initialized databases. The server layer collation order affects only how SQL sorts different characters. But Axapta kernel runs in different mode when running in unicode and does sortings by the end users locale. This is well described in the docment about unicode delivered with installation CD named: “DBCS and Unicode character set support in Navision Axapta”, chapter 1.2 Problem if not initializing for unicode: You can insert ItemId: ‘123A’ and ‘123Ä’ easily in your database and they sort ok. But when processing the item data by X++ nobody knows which one of those items is used. I have seen this happen on end user’s live production environment. With SQL server there is about 10% drawback in performace, and with Oracle it is about 2% br,