UFFF, tak to je divočina (teda ty výsledky):
Kód:
character_set_client, utf8character_set_connection, utf8
character_set_database, utf8
character_set_filesystem, binary
character_set_results, utf8
character_set_server, latin1
character_set_system, utf8
character_sets_dir, /usr/share/mysql/charsets/
Kód:
collation_connection, utf8_general_ci
collation_database, utf8_czech_ci
collation_server, latin1_swedish_ci
(názvu tabulky si nevšímej, já vím
)
Kód:
CREATE TABLE `Transaction` (
`IDTransaction` int(11) NOT NULL AUTO_INCREMENT,
`TransactionName` varchar(30) COLLATE utf8_czech_ci DEFAULT NULL,
`TransactionDescription` varchar(100) COLLATE utf8_czech_ci DEFAULT NULL,
`DateCreate` datetime NOT NULL,
`Amount` decimal(10,2) NOT NULL,
`Accounted` bit(1) NOT NULL DEFAULT b'0',
`DateAccounted` datetime DEFAULT NULL,
`rAccountID` tinyint(4) NOT NULL,
`rCategoryID` tinyint(4) NOT NULL,
`rClientID` tinyint(4) NOT NULL,
`rUserIDCreate` tinyint(4) NOT NULL,
PRIMARY KEY (`IDTransaction`),
KEY `FK_rAccountID_idx` (`rAccountID`),
KEY `FK_CategoryID_idx` (`rCategoryID`),
KEY `FK_ClientID_idx` (`rClientID`),
KEY `FK_UserIDCreate_idx` (`rUserIDCreate`),
CONSTRAINT `FK_AccountID` FOREIGN KEY (`rAccountID`) REFERENCES `Account` (`IDAccount`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `FK_CategoryID` FOREIGN KEY (`rCategoryID`) REFERENCES `Category` (`IDCategory`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `FK_ClientID` FOREIGN KEY (`rClientID`) REFERENCES `Client` (`IDClient`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `FK_UserIDCreate` FOREIGN KEY (`rUserIDCreate`) REFERENCES `User` (`IDUser`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=7252 DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci
Jinak ten convert... Nejsem si jist, možná to vypadá, že to zdrojové kódování je úplně jiné.
Dotaz:
Kód:
select
TransName,
CONVERT(CAST(`TransName` AS CHAR CHARACTER SET cp1250) USING utf8),
CONVERT(CAST(`TransName` AS CHAR CHARACTER SET latin2) USING utf8)
from tabulka
má následující výsledky:
sql_char01.PNG
sql_char02.PNG
kdy první řádek byl zadaný přes Lightswitch a jeho chování je stejné, jako u chybně importovaných dat, a druhý řádek byl zadaný přes PHP a chová se tak, jak bych chtěl.