BUG

ArcCatalog Identify does not display multibyte characters properly using the WMS connector

Last Published: April 25, 2020

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.

Article ID:000009185

Software:
  • Legacy Products

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options

Related Information

Discover more on this topic