Visual Studio 2005 String Problem
-
Du brauchst nichts "ummodern". Siehe hier: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/html/_mfc_cstring.3a3a.getbuffer.asp
-
MSS-Software schrieb:
wie mach ich denn CString in const char *
Jetzt hab ich die Frage gefunden
CString str; const char *szANSI = CT2CA(str);
-
das heißt jetzt, dass ich für MySQL jetzt alles mit GetBuffer machen muss?
ker, das mal verdammt viel
die ganzen MySQL abfragen, selektionen usw
gibts keine andere möglichkeit?
-
ah, zu spät gesehen
thx
-
Eigentlich sollte MySQL auch UNICODE können, sonst würde ich eine andere Datenbank nehmen
-
nö, so wie das grad ausschaut net
is irgendwo nen ding, was ich net verstehen kann
vielleicht is es die C-API die es net kann
keine ahnung
-
ich hab grad mal voll die probleme
der gibt mir nur noch ein zeichen zurück wenn der aus der INI liest
an der INI methode liegt das net
die hat vorher auch wunderbar gefunzt
is doch alles grad mal irgendwie mist
-
Das liegt vermutlich auch an dem Unicode... zeig doch mal bitte den Source, wie Du es einliest und wo Du es speicherst...
-
das sind 2 dateien
soll ich dir aufn server packen, damit du runterladen kannst und schauen? isn bissl viel für's posten
hab aber jetzt in den Projekteinstellungen den UNICODE Zeichensatz ausgestellt
funzt jetzt alles, aber wäre trotzdem net schlecht, wenn ich wüsste woran es liegt
-
Grundsätzlich solltest Du alles mit "TCHAR", "LPCTSTR", LPTSTR" machen... und keine casts verwenden! dann sollte es eigentlich gehen...
-
ja gut
ich werds mir zu herzen nehmen
danke dir
-
MYSQL zumindest ab V5 versteht UTF8. Das reicht denke ich für den Rest der Welt.
Wenn deine Funktionen für MySQL nur CString verstehen (MySQL-CAPI versteht CString sicher nicht) dann schreibe eine Wrapper um deine Funktionen denen Du eine CString gibst und die das dann als UNICODE umschreiben. Dann kannst du alle deine SQL-Querys noch immer verwenden bzw. deine ganzen Klassen welche MySQL verwenden.
-
Zu beachten ist aber dann, dass Du explizit nach UTF-8 umwandelst!
Also wirst Du um direkte Verwendung der WIdeCharToMultiByte nicht drum rum kommen...
PS: Man muss es aber der API auch mitteilen, welche Codepage (also hier UTF-8) man verwendet, sonst wird es wieder falsch interpretiert!)