Opened 3 weeks ago

Last modified 3 weeks ago

#70670 closed defect

iconv on macOS Ventura 13.6+ does not perform correct conversions — at Initial Version

Reported by: seamusdemora (Seamus) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.10.1
Keywords: Cc:
Port: libiconv

Description

I'm trying to do something that seems simple (it can be done simply on my Linux box):

I have C&P a line from a PDF file (a French programming guide), to Terminal.app: 'print("Numéro de boucle", i)'

I wanted to convert this line to ASCII before pasting into my editor. So I used 'iconv' as shown below. In each case, I used 'file' to check the "from" encoding :

% echo 'print("Numéro de boucle", i)' | file -
/dev/stdin: Unicode text, UTF-8 text

% echo 'print("Numéro de boucle", i)' | iconv -f utf-8 -t ascii//translit
print("Num'ero de boucle", i) 

?!?!?!?   I tried another example:

% echo "print("Protégé. Señorita. Coup de grâce", i)" | file -
/dev/stdin: Unicode text, UTF-8 text

% echo 'Protégé Señorita Coup de grâce' | iconv -f UTF-8 -t ASCII//TRANSLIT
Prot'eg'e Se~norita Coup de gr^ace

As you can see, this is not correct: a single quote has been added. I'm not a frequent user of 'iconv', so I checked this on my Debian 'bookworm' Linux box:

$ echo 'print("Numéro de boucle", i)' | iconv -f utf-8 -t ascii//translit
print("Numero de boucle", i)

I've checked to confirm that the version of 'iconv' on my macOS Ventura 13.6+ is one from MacPorts. I believe that it is:

% whereis iconv
iconv: /usr/bin/iconv /opt/local/share/man/man1/iconv.1.gz 

% port installed requested
The following ports are currently installed:
...
libiconv @1.17_0 (active)
...
%

And confirmation of my macports version:

% port -v
MacPorts 2.10.1

I can accept that it's broken, and I can accept that it can't be fixed (if that turns out to be the case). But I surely would appreciate an explanation of what has gone wrong - especially if it's something that I am doing incorrectly!

Rgds, ~S

Change History (0)

Note: See TracTickets for help on using tickets.