Sto usando questa query per produrre un menu archivio di blog, in questo modo:SQL CONCAT - Divertenti - ma non sto ridendo
SELECT CONCAT(MONTHNAME(published) , ' ' , YEAR(published)) AS monthyear,
COUNT(*) AS total
FROM blog_articles
WHERE status = 'Online' AND Year(published) = 2012
GROUP BY CONCAT(MONTHNAME(published) , ' ' , YEAR(published))
Risultato atteso:
January 2012 103
February 2012 87
March 2012 23
April 2012 99
Risultato effettivo:
il conteggio è corretto, ma al posto del orientale mentale, Sho leggi:
May 2012 1
Come posso liberarmi dei personaggi buffi e avere invece l'inglese?
Quando si esegue questa query in phpMyAdmin, i caratteri vanno bene.
UPDATE
ho appena provato a fare funzionare conn.Execute ("SET lc_time_names = 'it';") e non ha risolto il problema. Per verificare, ho usato conn.Execute ("SELECT @@ lc_time_names;") e ha restituito "en_US".
un altro aggiornamento
Cercando sul forum di MySQL per le questioni connesse, ho trovato un altro ragazzo lamentarsi lo stesso problema. Un guru MySQL detto:
"Questo è il famoso (famigerato) server restituisce tipi sbagliati per CONCAT di un numero e una stringa Si deve utilizzare il modulo (getto) per questo a lavoro, il driver. non posso dire quale sia il vero tipo ".
Non so quale cast sia o come risolvere questo problema.
+ 1 per titolo: P – Oleksi
+1 per "mental oriental" ': P'. – Bojangles
Qual è la * query più banale * che riproduce il problema dei caratteri "divertenti"? La query precedente è 1. la query minima (che dovrebbe essere specificata) o; 2. contiene una serie di SQL non necessari ('GROUP BY',' CONCAT', 'MONTHNAME', ecc.). –