[solved][C++][MySQL] Kodowanie zapytań w UTF8

0

Witam.
Piszę aplikację, która korzysta z bazy danych MySQL. No i mam pewien problem ponieważ w bazie danych mam ustawione kodowanie UTF-8. No i aby poprawnie zapisywać w bazie rekordy w tym kodowaniu musze je wysyłać w UTF-8.
Funkcje obsługi MySQL oczekują jako treść zapytania wskaźnika na typ char (a więc w Windowsie na moim kompilatorze jest to kodowanie ASCII). A aby korzystać z UTF-8 w cstringach musze korzystać z typu wchar_t. Czy jest jakiś sporób (bez zbędnych bibliotek konwertujących stringi jak iconv.h) na to by używać w char kodowania UTF-8??

0

wchar_t to wcale nie UTF-8 tylko UTF-16
UTF-8 to taki ciekawy system kodowania, bo normalne znaki z pierwszej połowy ASCII zajmują 1 bajt, a dopiero rozszerzone 2 bajty...
Ja to pisać? najlepiej jakby IDE wspomagało UTF-8, jeśli nie ręcznie musisz rozszerzonym znakom przypisywać dwu-bajtowe wielkości w łańcuchu i to będzie char.

0

Aha... no to myślę że IDE wspomaga u mnie UTF-8 bo korzystam z Code::Blocks. Jak jednak włączyć to kodowanie?? (bo w opcjach jest jedynie kodowanie edytora a to nie to samo co kodowanie znaków w char :P) Jakaś dyrektywa #define??

PS. A jest jakaś inna dyrektywa, którą mogę sprawdzić aktualne wspierane kodowanie??

0

[...] bo w opcjach jest jedynie kodowanie edytora a to nie to samo co kodowanie znaków w char

No właśnie to może być to. Po prostu sprawdź w debuggerze, czy znaki takie jak np. ęąćźż mają kody dwubajtowe, zgodne z kodowaniem utf-8.

0

No i mam to włączone... ale jak wysłałem zapytanie do MySQL z takimi znakami jak "ęśćżłą" to pojawiły się tylko krzaki w bazie... :(

EDIT:
Wszystko jest ok. Moje małe niedopatrzenie. po prostu miałem zakomentowaną linijke SET NAMES utf8 :P
Bardzo dziękuję za pomoc. Pozdrawiam :)

0

mam problem pisze program do faktur za pomocą c++ oraz sqlite, podczas zczytywania z bazy pokzuja mi sie krzaki zamiast polskich znaków. Jak zrobic aby dane wysylane z pól do bazy byly zamieniane na typ polskich znaków oraz podczas zwrtontego pobierania z bazy były polskie znaki

1 użytkowników online, w tym zalogowanych: 0, gości: 1