caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Paul Steckler <Paul.Steckler@nicta.com.au>
To: "caml-list@yquem.inria.fr" <caml-list@yquem.inria.fr>
Subject: 8-bit characters on command line
Date: Fri, 14 May 2010 14:36:58 +1000	[thread overview]
Message-ID: <2EB36A07AAE8C44BBB1986425E7A22D00FA659E379@atp-mbx1.in.nicta.com.au> (raw)

I have an OCaml 3.11 program that prints out the arguments on the command line:

  let main =Array.iter (Printf.printf "arg = %s\n") Sys.argv

On Linux, if I provide a command line argument containing 8-bit characters,
like é (an e with an acute accent), the program above, compiled with ocamlopt
or ocamlc, prints them faithfully.

For Windows, I can compile the program above with ocamlc on Windows, or cross-compile
it with MinGW-ocaml on Linux.  In both cases, any 8-bit characters in the command
line are printed as garbage.  I've tried running the program from rxvt (a shell for
Cygwin) and Windows cmd.exe.

Why does the behavior differ?

Although it's not a particular concern to me, the OCaml interpreter handles 8-bit characters
on Linux and Windows differently.  From the earlier part of my message, you'd think that
Linux ocaml handles such characters well, and Windows ocaml, not well -- but just the
opposite holds!  In Windows, if I enter a string containing an 8-bit character, the interpreter spits
it back faithfully:

  # "é";;
  - : string = "é"

But in Linux:

  # "é";;
  - : string = "\195\169"

Why this inconsistency?

-- Paul
--
Paul Steckler
National ICT Australia
paul DOT steckler AT nicta.com.au

The information in this e-mail may be confidential and subject to legal professional privilege and/or copyright. National ICT Australia Limited accepts no liability for any damage caused by this email or its attachments.


             reply	other threads:[~2010-05-14  4:37 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-14  4:36 Paul Steckler [this message]
2010-05-14  5:44 ` [Caml-list] " Dmitry Bely
2010-05-14  6:20   ` Paul Steckler
2010-05-14  8:13     ` Dmitry Bely
2010-05-17  2:55       ` Paul Steckler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2EB36A07AAE8C44BBB1986425E7A22D00FA659E379@atp-mbx1.in.nicta.com.au \
    --to=paul.steckler@nicta.com.au \
    --cc=caml-list@yquem.inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).