Nach vielen Recherchen bin ich immer noch auf ein Problem fest.Daten UTF-8 zum Einfügen auf latin1_swedish_ci Tabelle MYSQl
Zuerst,
Ich habe versucht, einige Daten in eine Datenbank einzufügen, indem Sie die Abfrage aus einer PHP-Datei generieren, die aber nicht funktionierte.
Also versuche ich manuell die Abfrage auf PHPMyAdmin
auszuführen und es hat funktioniert. Dann begann ich meine Forschung und die größtmögliche Erklärung, die ich fand, ist, dass meine Kodierung nicht die gleiche ist.
Meine Informationen sind UTF-8
und meine Tabelle latin1_swedish_ci
aber ein sehr schlechtes Problem erscheint, ich kann die Datenbank nicht ändern. :(
So, jetzt Ich suche einen Weg, UTF-8-latin1_swedish_ci
in meiner PHP
Datei zu konvertieren.
Ich hoffe, dass jemand eine Lösung zu finden, helfen könnte, oder könnte meine Forschung orientieren.
Hier ist mein Code
function insertGrp($rawData)
{
//Format data form best use
$data = self::formatFormData($rawData);
$insertGrpReq ="INSERT INTO `fwsgup` (`KGROUP`, `KUSER`, `KDATES`, `FDATEE`, `PSPY`) VALUES ('";
//First part of request
$groups = $data["userGroup"];
//Separator for concat
$separator = "', '";
//Instance of db
$db = new DBInteract();
//foreach group needed to be removed
foreach($groups as $group)
{
//converting dates for database
$tmp = strtotime($group[1]);
$startDate =date('Ymd', $tmp);
$tmp = strtotime($group[2]);
$endDate =date('Ymd', $tmp);
//DEBUG for see query
//output example INSERT INTO `fwsgup` (`KGROUP`, `KUSER`, `KDATES`, `FDATEE`, `PSPY`) VALUES ('gAdmin', 'fana', '20170619', '20190619', '20171907133741faan');
print($insertGrpReq.$group[0].$separator.$data["userInfo"]["userID"].$separator.$startDate.$separator.$endDate.$separator.date("YdmHis")."faan');</br>");
//here's my problem
$db->query($insertGrpReq.iconv("UTF-8", "ISO-8859-1", $group[0]).$separator.iconv("UTF-8", "ISO-8859-1", $data["userInfo"]["userID"]).$separator.iconv("UTF-8", "ISO-8859-1", $startDate).$separator.iconv("UTF-8", "ISO-8859-1", $endDate).$separator.iconv("UTF-8", "ISO-8859-1//TRANSLIT", date("YdmHis")).iconv("UTF-8", "ISO-8859-1", "faan"));
}
}
Hier ist der Tisch
CREATE TABLE FWSGUP ( KGROUP varchar(16) NOT NULL, KUSER varchar(16) NOT NULL, KDATES int NOT NULL, FDATEE int, PSPY varchar(24), CONSTRAINT Q_CCVDPRD_FWSGUP_KGROUP_00001 PRIMARY KEY (KGROUP,KUSER,KDATES) )
Ich mische latin1_swedefic_ci mit utf-8 die ganze Zeit, haben Sie irgendwelche Sonderzeichen in Ihrer Datenbank? – HoogleyBoogley
Welche Probleme treten auf? Könnten Sie sie präsentieren? – MinistryofChaps
@HoogleyBoogley ja ich habe einige è oder é – Jackob