On 6/11/06, Wu Yongwei <[EMAIL PROTECTED]> wrote:
On 6/11/06, A.J.Mechelynck <[EMAIL PROTECTED]> wrote:
> Cesar Romani wrote:
> >
> >> -----Messaggio originale-----
> >> Da: A.J.Mechelynck [mailto:[EMAIL PROTECTED]
> >> Inviato: venerdì 9 giugno 2006 23.34
> >> A: Cesar Romani
> >> Cc: Vim
> >> Oggetto: Re: Vim doesn't open files with chinese file names
> >>
> >> Cesar Romani wrote:
> >>
> >>> If I have a file with a chinese file name, f.e. 感情包袱.txt
> >>> It won't open but it throws the message: E303: Unable to open swap file
> >>>
> >> for
> >>
> >>> "????.txt", recovery impossible
> >>>
> >>> Instead with notepad I can open the file.
> >>>
> >>> Many thanks in advance,
> >>>
> >>> Andalou
> >>>
> >>>
> >>>
> >>>
> >>>
> >> Is your Vim version compiled with +multi_byte ? (:echo has("multi_byte")
> >> should return 1). The multi-byte feature is also mentioned in the
> >> ":version" text as one of +multi_byte, +multi_byte_ime or
> >> +multi_byte_ime/dyn
> >>
> >> If yes, check near the bottom of the :version text the name of the
> >> compiler: Vim binaries compiled with BCC32 have been notorious in the
> >> past for bad support of multi-byte characters, especially in filenames;
> >> IIUC, other compilers such as gcc and (don't remember the compiler
> >> executable name) MS Visual C have less problems in that respect. (I
> >> could be wrong though; I don't use non-Latin1 filenames and only very
> >> rarely non-7-bit-ASCII ones.)
> >>
> >> If has("multi_byte") is nonzero and it wasn't compiled with BCC32 then I
> >> don't know what it is -- maybe a bug. In this case, a makeshift
> >> workaround (until Bram fixes it) would be to rename the file back and
> >> forth to something with only 7-bit ASCII in the name.
> >>
> >> Normally, E303 means the swapfile can't be opened; but you should still
> >> be able to edit the file itself, unless it is very large. But you won't
> >> get a recovery option if Vim crashes, so don't forget to save your work
> >> extra often.
> >>
> >> Oh, and you are using a recent version of Vim aren't you? A year or two
> >> ago Vim just couldn't handle filenames with multibyte characters in
> >> them, but I thought that bug had been fixed.
> >>
> >>
> >> Best regards,
> >> Tony.
> >>
> >
> > Thanks for your answer,
> > I use the vim 7.0 compiled with MS Visual C and it has multibyte.
> > echo has("multi_byte") return 1.
> > The file won't be opened and can't be edited even though the file is small.
> > All what I get is an empty file.
> > If I rename the file with ASCII, even with accented file name it will be
> > opened. But notepad can open and edit it.
> >
> > Many thanks in advance,
> >
> > Andalou

I now see the problem. You code page is not 936, right? Vim seems only
able to open files with names that are valid in the current code page,
as are many other applications that do not use the Unicode version of
Windows APIs. This is an OS-related issue. You should not have such
problems when the system locale uses UTF-8, such as modern Linux
distros.

One correction. This failure only occurs on the command line. ":set
encoding=utf-8", and you can open the file with ":e" successfully.

--
Wu Yongwei
URL: http://wyw.dcweb.cn/

Reply via email to