Opened 8 years ago

Closed 5 years ago

#1380 closed defect (fixed)

Mapguide 2.2 beta on Linux fails to setup locale from system

Reported by: gabrimonfa Owned by: trevorwekel
Priority: low Milestone:
Component: General Version: 2.2.0
Severity: trivial Keywords:
Cc: External ID:

Description

SO: Centos 5.5

system locale: en-US.UTF-8

locale from serverconfig.ini: empty (from comment should default to system locale)

provider: OGRProvider with libgdal rebuilt with Postgresql support. viewer: plain Ajax

PostgreSQL locale: UTF-8

I have a layer which stylization involves a rule that check if a field is equals to a string containing a 'à'

Obtained results:

  • that rule fails
  • every time that the rule is evaluated one apache thread dies with

this message in the error_log:

terminate called after throwing an instance of 'MgInvalidArgumentException?'

[notice] child pid 32615 exit signal Aborted (6)

(no messages on server Error.log even if loglevel is 3 on all services, and also this is not so good)

  • Changing the rule to plain 'a' does not solve the error, thus the

problem is in fetching the data from the db

  • Changing the rule to plain 'a' and changing the row in the db does

solve the error (layer is correctly stylized and no more messages in the error_log)

Reverting back to 'à' both in the db and in the rules and setting "locale = en-US.UTF-8" in serverconfig.ini does solve the problem.

Thus I suppose that mapguide is using an incorrect locale (maybe ISO8859-1 instead of UTF-8) and complains about finding invalid characters. This is a regression, since with Mapguide 2.1 (compiled on Debian) and the same data all works correctly.

Change History (3)

comment:1 Changed 8 years ago by gabrimonfa

I add the output of locale command, that appears to be correct

$ locale

LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

comment:2 Changed 8 years ago by trevorwekel

Owner: set to trevorwekel

comment:3 Changed 5 years ago by gabrimonfa

Resolution: fixed
Status: newclosed

The problem seems solved in 2.4.0 and 2.5.1

Note: See TracTickets for help on using tickets.