Description
The Identify function in ArcCatalog does not display multibyte characters properly when connecting to ArcIMS Server through the WMS connector.
Cause
This is a known issue. The charset value must be set for multibyte character display.
Workaround
There are two files that require charset definition. They are WMSEsrimap_prop and wms_featureinfo_html.xsl.
- For Windows:
1. Open the WMSEsrimap_prop file at: $AIMSHOME\Connectors\wms_connector\wmsconnector\WEB-INF\classes.
2. At the bottom of this file, there is 'charset' specification. For Traditional Chinese, specify CP950 as an example.
### ESRI ArcIMS v.9.2.0
### Properties for the ArcIMS WMS Connector
### Set this property to "True" to enable the WMX Connector.
### ConnnectorPing is the only request that will be allowed when
### disabled.
enable=false
### The name of the machine on which the ArcIMS Application Server is running.
appServerMachine=katabami
### The port on which the connector communicates with the Application Server.
appServerClientPort=5300
### The capabilities directory is where you place your capabilities files. A
### capability file specifies the contents of the map server capabilities data,
### returned by the getCapabilities operation or request. A capabilities file
### gets created for each ArcIMS Service.
### Windows Example:
### capabilitiesDir=C:\ArcIMS\capabilities
### UNIX Example:
### capabilitiesDir=/disk1/ArcIMS/capabilities
capabilitiesDir=
### Set this to "True" if you want additional debug information
debug=false
### Set this to "file" or "servlet" if you want debug information to be logged to
### the WMSEsrimap.log file or servlet context. The default is servlet. If debug is
### false there will not be any logging.
errorLog=
### Set this to "True" or "False" for reaspecting of the image
reaspect=true
### Set this to "png8" or "png24" for creating a 8 bit or 24 bit png image
pngformat=png8
### The default ArcIMS Service that you want the WMS Connector to recognize.
defaultService=
###The stylesheets used for transformation of capabilities and featureinfo
wms_capabilities_100=wms_capabilities_100.xsl
wms_capabilities_110=wms_capabilities_110.xsl
wms_capabilities_111=wms_capabilities_111.xsl
wms_featureinfo=wms_featureinfo.xsl
###Username & Password for WMS adminstarator
adminPassword=
adminUser=
###The charset variable is for i18n support
<b>charset=CP950</b>
3. Open wms_featureinfo_html.xsl at: $AIMSHOME\Connectors\wms_connector\wmsconnector\WEB-INF\classes\wms\stylesheets.
4. Search for 'encoding' and set the value to CP950 for Traditional Chinese as an example.
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="1.0" <b>encoding="CP950"</b> indent="yes" />
<xsl:template match="/">
<table border="1">
<xsl:for-each select="/FeatureInfoResponse/FIELDS">
<tr>
<xsl:for-each select="@*">
<th bgcolor="#006699">
<font color="#FFFFFF">
<xsl:value-of select="name()" />
</font>
</th>
</xsl:for-each>
</tr>
<tr>
<xsl:for-each select="@*">
<td bgcolor="#99CCFF">
<xsl:value-of select="." />
</td>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
5. Redeploy the WMS connector. - For Unix:
1. Open the WMSEsrimap_prop file at: $AIMSHOME/Middleware/wms_connector/wmsconnecotor/WEB-INF/classes.
2. Search for 'charset' and set the value to CP950 for Traditional Chinese as an example.
###ESRI ArcIMS WMS Connector 9.2.0
#Fri Feb 02 15:34:03 PST 2007
appServerClientPort=5300
debug=true
adminPassword=Gzt3XR0PAto\=
wms_capabilities_100=wms_capabilities_100.xsl
pngformat=png8
<b>charset=CP950</b>
reaspect=true
appServerMachine=karatachi
enable=true
adminUser=admin
errorLog=file
capabilitiesDir=/karatachi1/users/ims92/capabilities
wms_capabilities_111=wms_capabilities_111.xsl
wms_capabilities_110=wms_capabilities_110.xsl
wms_featureinfo=wms_featureinfo.xsl
defaultService=TChinese
3. Open wms_featureinfo_html.xsl at: $AIMSHOME/Middleware/wms_connector/wmsconnector/WEB-INF/classes/wms/stylesheets.
4. Search for 'encoding' and set it to CP950 for Traditional Chinese as an example.
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="1.0" <b>encoding="CP950"</b> indent="yes" />
<xsl:template match="/">
<table border="1">
<xsl:for-each select="/FeatureInfoResponse/FIELDS">
<tr>
<xsl:for-each select="@*">
<th bgcolor="#006699">
<font color="#FFFFFF">
<xsl:value-of select="name()" />
</font>
</th>
</xsl:for-each>
</tr>
<tr>
<xsl:for-each select="@*">
<td bgcolor="#99CCFF">
<xsl:value-of select="." />
</td>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
5. Redeploy the WMS connector.