Sort order with Umlaute (öäü) How SRTSEQ=*LANGIDUNQ

General discussion on Zend Server for IBM System i
Post Reply
kseidel
Posts: 7
Joined: Wed Jul 15, 2009 9:19 am

Sort order with Umlaute (öäü) How SRTSEQ=*LANGIDUNQ

Post by kseidel » Fri Apr 11, 2014 1:32 pm

Hello,

we have a Problem to get th right sort order with german Umlaute (öäü).

An Example to explain what i meen:

With the SQL: "select name from NAMES order by name"
we should get the following result:
Anton
Bauer
Busch
Büscher (this would be right)
Casper
...
but we get:
Anton
Büscher (this is wrong)
Bauer
Busch
Casper
...

We have the CCSID settings:
System QCCSID: 273
FastCGI Language and CCSID settings (/www/zendsvr6/conf/fastcgi.conf):
CCSID (ASCII) . . . . . : 819
Language ID . . , , , , : C
Apache web server settings (/www/zendsvr/conf/http.conf):
DefaultFsCCSID. . . . . : 273
CGIJobCCSID . . . . . . : 273

The ZENDSVR6 Job's in Subsystem QHTTPSVR are running with this parameters:
Sortierfolge . . . . . . . . . . *LANGIDUNQ
Bibliothek . . . . . . . . . .
Sprachen-ID . . . . . . . . . . DEU
Landes- oder Regions-ID . . . . DE
Zeichensatz-ID . . . . . . . . . 273

How can we fix the sort order?
Can we set the PHP Connection SRTSEQ=*LANGIDUNQ ?

Thanks Kai

erich_hieden
Posts: 393
Joined: Tue Jul 07, 2009 9:01 am

Re: Sort order with Umlaute (öäü) How SRTSEQ=*LANGIDUNQ

Post by erich_hieden » Wed Apr 23, 2014 10:16 am

Hello Kai

Which functions are you using to query the database? (ibm_db2 extension, Zend Framework, ...)
I tried to reproduce your problem but failed to do so using ibm db2 extension.

Please drop some lines of php-code.

Best

kseidel
Posts: 7
Joined: Wed Jul 15, 2009 9:19 am

Re: Sort order with Umlaute (öäü) How SRTSEQ=*LANGIDUNQ

Post by kseidel » Wed Apr 23, 2014 10:55 am

Hello,

i wrote this simple example to test it.

Code: Select all

<?
$conn = db2_pconnect("ASROWI1", "","");
$dbsql = "select ZENAM  from BDEDWP.PSBDEP order by ZENAM ";

if(($result = db2_prepare($conn, $dbsql)) === false)
{
	insertLog('Error: db2_prepare SQL: '.$dbsql);
}

db2_execute($result);

while($row = db2_fetch_assoc($result))
{
	echo '<br>ZENAM: ' . $row['ZENAM'];
}
?>
THX for your help!

Kai

erich_hieden
Posts: 393
Joined: Tue Jul 07, 2009 9:01 am

Re: Sort order with Umlaute (öäü) How SRTSEQ=*LANGIDUNQ

Post by erich_hieden » Fri Apr 25, 2014 8:44 am

I can't reproduce this behaviour on my machine. Although when I take a look at the QSQSRVR jobs in QSYSWRK Subsystem, i can see that they run with STRSEQ *HEX, which can be controlled via *SYSVAL QSRTSEQ. Please take a look at this setting and also QCCSID. What also could be of interest is the file CCSID and field CCSID.

Hope this can be of any help.

kseidel
Posts: 7
Joined: Wed Jul 15, 2009 9:19 am

Re: Sort order with Umlaute (öäü) How SRTSEQ=*LANGIDUNQ

Post by kseidel » Fri Apr 25, 2014 2:34 pm

File and field CCSID is 273
I changed STRSEQ to *HEX for the Jobs QSQSRVR in QSYSWRK but i get the same wrong result.
The CCSID from QSQSRVR ist also 273.

We tested the SELECT with Java, out of COBOL and with the iSeries Navigator. There we get the right sort result.

Any further idea ??

thx Kai

zend_i5
Posts: 158
Joined: Mon Mar 23, 2009 5:22 pm

Re: Sort order with Umlaute (öäü) How SRTSEQ=*LANGIDUNQ

Post by zend_i5 » Sun May 18, 2014 1:33 pm

Try the following language combination in FastCGI:

FastCGI Language and CCSID settings (/www/zendsvr6/conf/fastcgi.conf):
CCSID (ASCII) . . . . . : 819
Language ID . . , , , , : de_DE

kseidel
Posts: 7
Joined: Wed Jul 15, 2009 9:19 am

Re: Sort order with Umlaute (öäü) How SRTSEQ=*LANGIDUNQ

Post by kseidel » Mon May 19, 2014 12:27 pm

I tried to set it in the menu: "Set Zend Server Language/CCSID Environment".
But "Language ID . . , , , , : de_DE" was always set to 'C'

I set it dirctly in "/www/zendsvr6/conf/fastcgi.conf"

But i get the same wrong sort result...

Post Reply