Hello
svn_cmdline_init in ibsvn_subr\cmdline.c
> #if _MSC_VER < 1400
> /* Initialize the input and output encodings. */
> {
> static char input_encoding_buffer[16];
> static char output_encoding_buffer[16];
>
> apr_snprintf(input_encoding_buffer, sizeof input_encoding_buffer,
> "CP%u", (unsigned) GetConsoleCP());
> input_encoding = input_encoding_buffer;
>
> apr_snprintf(output_encoding_buffer, sizeof output_encoding_buffer,
> "CP%u", (unsigned) GetConsoleOutputCP());
> output_encoding = output_encoding_buffer;
> }
> #endif /* _MSC_VER < 1400 */
If I comment out the above code, get_page_id_from_name is called
with settting 'page_name' to 0x00000001(SVN_APR_LOCALE_CHARSET)
and i18n works.
Regards.
Masaru.
2007/7/7, masaru tsuchiyama <m.tmatma@gmail.com>:
> Hello
>
> > > In my machine,
> > > svn_subr__win32_xlate_open is called with setting 'frompage' to "CP932".
> Sorry. I made a mistake. It is not 'frompage' , but 'topage'.
>
> > Could you check what is source of this strange charset name?
>
> svn_cmdline_init in ibsvn_subr\cmdline.c
> > #if _MSC_VER < 1400
> > /* Initialize the input and output encodings. */
> > {
> > static char input_encoding_buffer[16];
> > static char output_encoding_buffer[16];
> >
> > apr_snprintf(input_encoding_buffer, sizeof input_encoding_buffer,
> > "CP%u", (unsigned) GetConsoleCP());
> > input_encoding = input_encoding_buffer;
> >
> > apr_snprintf(output_encoding_buffer, sizeof output_encoding_buffer,
> > "CP%u", (unsigned) GetConsoleOutputCP());
> > output_encoding = output_encoding_buffer;
> > }
> > #endif /* _MSC_VER < 1400 */
> input_encoding and output_encoding are global variables,
> and are set to "CP932".
>
> svn_cmdline_cstring_from_utf8 in libsvn_subr\cmdline.c
> > svn_error_t *
> > svn_cmdline_cstring_from_utf8(const char **dest,
> > const char *src,
> > apr_pool_t *pool)
> > {
> > if (output_encoding == NULL)
> > return svn_utf_cstring_from_utf8(dest, src, pool);
> > else
> > return svn_utf_cstring_from_utf8_ex2(dest, src, output_encoding, pool);
> > }
>
> svn_cmdline_cstring_from_utf8 calls with setting output_encoding to "CP932".
>
> Regards.
> Masaru.
>
>
> 2007/7/6, Ivan Zhakov <zhakov@tigris.org>:
> > On 7/6/07, masaru tsuchiyama <m.tmatma@gmail.com> wrote:
> > > Hello
> > >
> > > This commit breaks to work i18n on Windows XP SP2 Japanese Edition.
> > >
> > > In my machine,
> > > svn_subr__win32_xlate_open is called with setting 'frompage' to "CP932".
> > > And get_page_id_from_name is called with setting 'page_name' to "CP932".
> > >
> > > Then get_page_id_from_name passes by all if statements,
> > > and mlang->lpVtbl->GetCharsetInfo fails with E_FAIL,
> > > and finally returns APR_EINVAL.
> > >
> > > But if I apply this patch, it works.
> > > (I know the patch is not approprite. This is an example patch
> > > to show why i18n doesn't work.)
> > >
> > Hi,
> >
> > That's very strange because CP932 is invalid charset name. Valid name
> > for this charset is "Shift_JIS" [1]
> > Could you check what is source of this strange charset name?
> >
> > [1] http://www.iana.org/asignments/character-sets
> >
> > --
> > Ivan Zhakov
> >
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Jul 7 01:47:41 2007