Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This document relates to Grouper and internationalization, handling non english characters, utf-8, accents, etc.

Grouper and non english characters

Grouper works with non english characters but the environment must be setup correctly for this to happen.  Your database must support it, your Java settings must be set correctly, you tomcat settings must be set correctly.  In Grouper 2.2.1 patch grouper_v2_2_1_api_patch_9 there are checks at startup.

There are checks at startup to make sure the non tomcat settings are correct.

also the default for grouper.base.properties for file encoding was changed. If you dont need non english chars and you are worried about the risk of this change please change it in grouper.properties

Code Block
# when reading writing files from util classes, this is encoding (was ISO-8859-1)
grouper.default.fileEncoding = UTF-8

 

These settings will detect if you database and file system can handle utf-8, and if transactions, and case sensitivity are handled correctly. You can get a success message if you are debugging, but this defaults to off. These will run in another thread so they dont affect start time (optionally default to true)

Code Block
# if should check database and utf in new thread
configuration.checkDatabaseAndUtf.inNewThread = true
# if grouper should check to see if the database has case sensitive selects
configuration.detect.db.caseSensitive.problems = true
configuration.display.db.caseSensitive.success.message = false
# if grouper should check to see if utf-8 works on startup in files
configuration.detect.utf8.file.problems = true
# if grouper should check to see if utf-8 works on startup in the database
configuration.detect.utf8.problems = true
configuration.display.utf8.success.message = false
# if grouper in the utf8 check will check to see if grouper supports transaction
configuration.detect.db.transaction.problems = true
configuration.display.transaction.success.message = false

 

If there is a problem with start, you will see a message like this, but it will not cause grouper not to start:

Code Block
Error: Cannot properly read UTF string from database: '???????', make sure your database has UTF tables and perhaps a hibernate.connection.url in grouper.hibernate.properties

Note, it will try to give suggestions about what the problem could be.

Grouper and UTF-8

For Grouper to handle utf-8 characters:

...