On Thu, Sep 12, 2013 at 4:41 PM, Andreas Schwab <schwab@suse.de> wrote:
>
> Haoyang Xu <snakehsu@gmail.com> writes:
>
> > Although this works for whitespaces and maybe some other characters (and I
> > don't know why), the resulted string will have _two_ escape characters in
> > front of every Chinese character.
>
> No, it doesn't.
>
> > $ ls ~/Dropbox/Office\ Work/\\参\\考\\资\\料/
>
> This is not what shell-quote-argument returns.
>
> ELISP> (shell-quote-argument "~/Dropbox/Office Work/参考资料/")
> "\\~/Dropbox/Office\\ Work/\\参\\考\\资\\料/"
>
>
> There is only one backslash before each quoted character.
You are again right :) My bad, I didn't set my environment properly. I need to ensure Emacs send the arguments to shell in UTF-8 coding, by either
(setq default-process-coding-system '(utf-8 . utf-8))
or
(set-language-environment "UTF-8")
Then it works.
Sorry for letting you chase the ghost. Please accept my apology and thanks.
Best Regards,
Haoyang
>
>
> Andreas.
>
> --
> Andreas Schwab, SUSE Labs, schwab@suse.de
> GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
> "And now for something completely different."