Antwort #89 am: 04. März 2016, 23:59:54
Bei mir hat's leider nicht funktioniert.
Meine Vorgehensweise:
Shop basiert auf einem modified
1.051. Skript für die DB laufen lassen / Datei: convert_to_utf8.php
<?php
include 'includes/application_top.php';
//BOC set all tables to collation utf8_general_ci and convert contents to utf8, noRiddle
$query = xtc_db_query("SHOW TABLES");
while ($result = xtc_db_fetch_array($query)) {
foreach ($result as $key => $table) {
if(xtc_db_query("ALTER TABLE " . $table . " CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci")) {
echo $key . ' » ' . $table . ': - converted to UTF-8 and collation utf8_general_ci <br />';
} else {
echo $key . ' » ' . $table . ': - conversion to UTF-8 and collation utf8_general_ci failed <br />';
}
}
}
//EOC set all tables to collation utf8_general_ci and convert contents to utf8, noRiddle
?>
2. DB_SERVER_CHARSET in den beiden configure.php-Dateien auf utf8 setzen
/includes/configure.php
/admin/includes/configure.php
Die Zeile gab's in meinem Shop gar nicht, also so am Ende eingefügt:
define('DB_SERVER_CHARSET', 'utf8'); // set db charset utf8 or latin1 3. Backend => Land / Steuer => Sprachen => "meta-content" ("Charset" im Bearbeiten-Modus) auf utf-8 setzen
4. Sprachdateien geändert.
/lang/german/german.php
/lang/german/admin/german.php
@setlocale(LC_TIME
, 'de_DE.UTF-8', 'de_DE.utf8', 'utf-8', 'de_DE@euro', 'de_DE', 'de', 'ge'); /lang/english/english.php
/lang/english/admin/english.php
@setlocale(LC_TIME
, 'en_GB.UTF-8', 'en_GB@euro', 'utf-8', 'en_GB@euro', 'en_GB', 'en-GB', 'en', 'English'); 5. /includes/application_top.php
/admin/includes/application_top.php
ganz oben eingefügt:
ini_set("default_charset", "utf-8"); 6. Cache vom Shop und vom Browser geleert und vom Backend ab- und wieder angemeldet.
Ergebnis:
Darstellung der Umlaute im Front- und Backend:
Au�erdem, Warenk�rbe, Gr��en, etc?
Aus dem Quelltext:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Datenbank Kollation: utf8_general_ci für alle Tabellen.
Was habe ich übersehen, oder falsch gemacht?
: