12 Nov 23:16
Re: Problems with file names containing latin accent characters
From: Germán Blando <germanblando <at> gmail.com>
Subject: Re: Problems with file names containing latin accent characters
Newsgroups: gmane.comp.db.metakit
Date: 2007-11-12 22:16:23 GMT
Subject: Re: Problems with file names containing latin accent characters
Newsgroups: gmane.comp.db.metakit
Date: 2007-11-12 22:16:23 GMT
Ok. Now I get your point. I'm going to undo may hack and use Metakit
that way.
Thanks to both of you for the advice.
German.
Jean-Claude Wippler wrote:
-- Saludos, Germán Blando Contable IVA - Liquidación de Iva para Estudios Contables http://www.interfase-soft.com.ar/contableiva/ Ubuntu OS http://www.ubuntu.com/
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the "metakit" group.
To post to this group, send email to metakit <at> googlegroups.com
To unsubscribe from this group, send email to metakit-unsubscribe <at> googlegroups.com
For more options, visit this group at http://groups.google.com/group/metakit?hl=en
-~----------~----~----~----~------~----~------~--~---
Thanks to both of you for the advice.
German.
Jean-Claude Wippler wrote:
Riccardo Cohen wrote:I noticed also that on windows, metakit needs utf8 file names. But did not test on other platforms.I supposed all platforms need utf8 ?Yes.Anyway I rather changed my code to give utf8 to metakit. Any precision would be appreciated.That's correct. For maximum portability, all strings in and out of Metakit should be in UTF8.Tecnonucleo wrote:What you've done is change the calling convention so Metakit expects a Windows-specific "codepage" encoding. (Google tells me that CP_ACP means "I do not care what the system default codepage is -- just use it") While this works, you lose some flexibility: what if you wanted to save to a filename which has characters outside the range used in your own locale? With UTF8 everywhere, you can use filenames with any characters in them on any system. The consequence though, is that you have to do what Riccardo did: convert filenames to UTF8 before passing them to Metakit. -jcwI've used Metakit for a while, and recently I had some issues with file names containing accent characters, like á or é. It only occurs in Windows XP. In Linux all works ok. But in Windows, when the file name had latin accent characters, Metakit suppress them and thus it tried to open a non existing file. I debug into Metakit source code and I found that the character missing happened in this line: MultiByteToWideChar(CP_UTF8, 0, fname_, - 1, wName, MAX_PATH); I'm not an expert in Win32 API, but after some googling I decided to change the CP_UTF8 parameter for CP_ACP. And then all began to work ok as in Linux. The new version of the previous line now looks like that: MultiByteToWideChar(CP_ACP, 0, fname_, - 1, wName, MAX_PATH); I'm not sure if it make sense to change the Metakit sources that way, but in any case I want to share this issue and maybe get some feedback about the patch I applied.
-- Saludos, Germán Blando Contable IVA - Liquidación de Iva para Estudios Contables http://www.interfase-soft.com.ar/contableiva/ Ubuntu OS http://www.ubuntu.com/
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the "metakit" group.
To post to this group, send email to metakit <at> googlegroups.com
To unsubscribe from this group, send email to metakit-unsubscribe <at> googlegroups.com
For more options, visit this group at http://groups.google.com/group/metakit?hl=en
-~----------~----~----~----~------~----~------~--~---
RSS Feed