<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>I conducted an audit of all of the encoding names recognized by
ICU with the goal of identifying any cases where comparison under
the <font face="monospace">COMP_NAME</font> loose matching
algorithm specified in <a moz-do-not-send="true"
href="https://wg21.link/p1885">P1885</a> would lead to a
conflict in selecting an ICU converter. The good news is that no
conflicts were identified that can be attributed to the loose
matching algorithm. However, I found that the same alias is used
for different encodings in multiple cases as described in the
table below. These can be verified with <a moz-do-not-send="true"
href="https://icu4c-demos.unicode.org/icu-bin/convexp?s=UTR22&s=IBM&s=WINDOWS&s=JAVA&s=IANA&s=MIME&s=-&s=ALL&ShowUnavailable=">ICU
Converter Explorer</a>.</p>
<p>I did not scrape the ICU Converter Explorer page to perform the
audit. The data I worked off of was produced with ICU 70.1 by
running <font face="monospace">uconv -l --canon</font> and then
massaging the output.</p>
<p>Each row of the table describes a conflict between two ICU
encodings, each of which is named in the left most and right most
columns respectively. The inner columns list the specific aliases
that conflict and which provider they correspond to.<br>
</p>
<p>For at least some of these, one has to wonder if the ICU data is
simply incorrect. Cases that only involve a conflict with an
untagged alias are illustrated in gray so that the others stand
out.</p>
<p>Can anyone offer an explanation for these conflicts? Do these
reflect defects in ICU (particularly for the cases where the
untagged aliases disagree with)?<br>
</p>
<table width="100%" cellspacing="2" cellpadding="2" border="1">
<tbody>
<tr>
<td valign="top"><b>ICU encoding</b><b><br>
</b></td>
<td valign="top"><b>Encoding alias</b><b> </b><b>(provider)</b><b><br>
</b></td>
<td valign="top"><b>Encoding alias</b><b> </b><b>(provider)</b></td>
<td valign="top"><b>ICU encoding</b><b><br>
</b></td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">ibm-943_P15A-2003<br>
</font></td>
<td valign="top"><font color="#a0a0a0">cp932 (Windows)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">cp932 (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-942_P12A-1999<br>
</font></td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">ibm-943_P130-1999<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-943 (IBM)<br>
ibm-943 (Java)</font></td>
<td valign="top"><font color="#a0a0a0">ibm-943 (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-943_P15A-2003<br>
</font></td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">ibm-943_P130-1999<br>
</font></td>
<td valign="top"><font color="#a0a0a0">Shift_JIS (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">Shift_JIS (Windows)<br>
Shift_JIS (Java)<br>
Shift_JIS (IANA)<br>
Shift_JIS (MIME)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-943_P15A-2003<br>
</font></td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">ibm-33722_P120-1999<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-33722 (IBM)<br>
ibm-33722 (Java)</font></td>
<td valign="top"><font color="#a0a0a0">ibm-33722 (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-33722_P12A_P12A-2009_U2<br>
</font></td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">ibm-33722_P120-1999<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-5050 (IBM)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-5050 (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-33722_P12A_P12A-2009_U2<br>
</font></td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">windows-950-2000<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-950 (Windows)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-950 (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-1373_P100-2002<br>
</font></td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">ibm-5471_P100-2006<br>
</font></td>
<td valign="top"><font color="#a0a0a0">Big5-HKSCS (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">Big5-HKSCS (Java)<br>
Big5-HKSCS (IANA)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-1375_P100-2008<br>
</font></td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">windows-936-2000<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-936 (Windows)<br>
windows-936 (Java)<br>
windows-936 (IANA)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-936 (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-1386_P100-2001<br>
</font></td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">ibm-949_P11A-1999<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-949 (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-949 (IBM)<br>
ibm-949 (Java)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-949_P110-1999<br>
</font></td>
</tr>
<tr>
<td valign="top">ibm-1363_P11B-1998<br>
</td>
<td valign="top">KS_C_5601-1987 (IANA)<br>
</td>
<td valign="top">
KS_C_5601-1987 (Java)<br>
</td>
<td valign="top">ibm-970_P110_P110-2006_U2<br>
</td>
</tr>
<tr>
<td valign="top">ibm-1363_P11B-1998<br>
</td>
<td valign="top">KSC_5601 (IANA)<br>
</td>
<td valign="top">KSC_5601 (Java)<br>
</td>
<td valign="top">ibm-970_P110_P110-2006_U2<br>
</td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">ibm-1363_P11B-1998<br>
</font></td>
<td valign="top"><font color="#a0a0a0">5601 (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">5601 (Java)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-970_P110_P110-2006_U2<br>
</font></td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">ibm-1363_P110-1997<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-1363 (IBM)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-1363 (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-1363_P11B-1998<br>
</font></td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">windows-949-2000<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-949 (Windows)<br>
windows-949 (Java)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-949 (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-1363_P11B-1998<br>
</font></td>
</tr>
<tr>
<td valign="top">windows-949-2000<br>
</td>
<td valign="top">KS_C_5601-1987 (Windows)<br>
</td>
<td valign="top">KS_C_5601-1987 (Java)<br>
</td>
<td valign="top">ibm-970_P110_P110-2006_U2<br>
</td>
</tr>
<tr>
<td valign="top">windows-949-2000<br>
</td>
<td valign="top">KS_C_5601-1989 (Windows)<br>
</td>
<td valign="top">KS_C_5601-1989 (IANA)<br>
</td>
<td valign="top">ibm-1363_P11B-1998<br>
</td>
</tr>
<tr>
<td valign="top">windows-949-2000<br>
</td>
<td valign="top">KSC_5601 (Windows)<br>
KSC_5601 (MIME)<br>
</td>
<td valign="top">KSC_5601 (Java)<br>
</td>
<td valign="top">ibm-970_P110_P110-2006_U2<br>
</td>
</tr>
<tr>
<td valign="top">windows-949-2000<br>
</td>
<td valign="top">csKSC56011987 (Windows)<br>
</td>
<td valign="top">csKSC56011987 (IANA)<br>
</td>
<td valign="top">ibm-1363_P11B-1998<br>
</td>
</tr>
<tr>
<td valign="top">windows-949-2000<br>
</td>
<td valign="top">korean (Windows)<br>
</td>
<td valign="top">korean (IANA)<br>
</td>
<td valign="top">ibm-1363_P11B-1998<br>
</td>
</tr>
<tr>
<td valign="top">windows-949-2000<br>
</td>
<td valign="top">iso-ir-149 (Windows)<br>
</td>
<td valign="top">iso-ir-149 (IANA)<br>
</td>
<td valign="top">ibm-1363_P11B-1998<br>
</td>
</tr>
<tr>
<td valign="top">ibm-874_P100-1995<br>
</td>
<td valign="top">TIS-620 (Java)<br>
TIS-620 (IANA)<br>
</td>
<td valign="top">TIS-620 (Windows)<br>
</td>
<td valign="top">windows-874-2000<br>
</td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">ibm-1250_P100-1995<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-1250 (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-1250 (Windows)<br>
windows-1250 (Java)<br>
windows-1250 (IANA)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">ibm-5346_P100-1998<br>
</font></td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">ibm-1251_P100-1995<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-1251 (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-1251 (Windows)<br>
windows-1251 (Java)<br>
windows-1251 (IANA)</font></td>
<td valign="top"><font color="#a0a0a0">ibm-5347_P100-1998<br>
</font></td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">ibm-1252_P100-2000<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-1252 (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-1252 (Windows)<br>
windows-1252 (Java)<br>
windows-1252 (IANA)</font></td>
<td valign="top"><font color="#a0a0a0">ibm-5348_P100-1997<br>
</font></td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">ibm-1253_P100-1995<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-1253 (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-1253 (Windows)<br>
windows-1253 (Java)<br>
windows-1253 (IANA)</font></td>
<td valign="top"><font color="#a0a0a0">ibm-5349_P100-1998<br>
</font></td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">ibm-1254_P100-1995<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-1254 (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-1254 (Windows)<br>
windows-1254 (Java)<br>
windows-1254 (IANA)</font></td>
<td valign="top"><font color="#a0a0a0">ibm-5350_P100-1998<br>
</font></td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">ibm-5351_P100-1998<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-1255 (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-1255 (Windows)<br>
windows-1255 (Java)<br>
windows-1255 (IANA)</font></td>
<td valign="top"><font color="#a0a0a0">ibm-9447_P100-2002<br>
</font></td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">ibm-5352_P100-1998<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-1256 (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-1256 (Windows)<br>
windows-1256 (Java)<br>
windows-1256 (IANA)</font></td>
<td valign="top"><font color="#a0a0a0">ibm-9448_X100-2005<br>
</font></td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">ibm-5353_P100-1998<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-1257 (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-1257 (Windows)<br>
windows-1257 (Java)<br>
windows-1257 (IANA)</font></td>
<td valign="top"><font color="#a0a0a0">ibm-9449_P100-2002<br>
</font></td>
</tr>
<tr>
<td valign="top"><font color="#a0a0a0">ibm-1258_P100-1997<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-1258 (Untagged)<br>
</font></td>
<td valign="top"><font color="#a0a0a0">windows-1258 (Windows)<br>
windows-1258 (Java)<br>
windows-1258 (IANA)</font></td>
<td valign="top"><font color="#a0a0a0">ibm-5354_P100-1998<br>
</font></td>
</tr>
</tbody>
</table>
<p>Tom.<br>
</p>
</body>
</html>