What is the proper way to ensure OD/DD updates databases properly using a UTF8 encoding? On certain boxes, I have had to tweak various java options and env variables. To confuse things, some hosts need these tweaks while other boxes work fine without any tweaks at all. This is a mishmash of Solaris 9/10 with OD 6.02 (plus patches).
Below are the various tweaks used:
Adding the following java flag to processod:
$odhome/processod
[...]
# -- for Solaris and Linux
JAVA_OPTS="-Dfile.encoding=UTF-8 -Xss2m -Xms32m -Xmx1024m"
#JAVA_OPTS="-Xss2m -Xms32m -Xmx256m"
[...]
This tweak worked up until recently. Yesterday I also had to hack the OD start script with the following to force utf-8 deployments:
/etc/init.d/iwod60
[...]
NLS_LANG=AMERICAN_AMERICA.UTF8
export NLS_LANG
LANG=en_US.UTF8
export LANG
LC_NUMERIC=en_US.UTF8
export LC_NUMERIC
LC_CTYPE=en_US.UTF8
export LC_CTYPE
[...]
Since this was a production system, I could not spend the time to identify which flag got things working, but nonetheless, the shotgun approach is good enough for now.