Seite 2 von 3

Re: Umlaute werden "verschluckt"

Verfasst: 06.05.2009 06:51
von Astro-Van
Hi,

hier die config.php des original Forums :

Code: Alles auswählen

<?php
// phpBB 3.0.x auto-generated configuration file
// Do not change anything in this file!
$dbms = 'mysql';
$dbhost = '';
$dbport = '';
$dbname = 'Name der DB';
$dbuser = 'DB-User';
$dbpasswd = 'PW';
$table_prefix = 'phpbb_';
$acm_type = 'file';
$load_extensions = '';

@define('PHPBB_INSTALLED', true);
@define('DEBUG', true);
@define('DEBUG_EXTRA', true);
?>
und die config.php der Kopie des Forums :

Code: Alles auswählen

<?php
// phpBB 3.0.x auto-generated configuration file
// Do not change anything in this file!
$dbms = 'mysqli';
$dbhost = '';
$dbport = '';
$dbname = 'Name der DB';
$dbuser = 'DB-User';
$dbpasswd = 'PW';
$table_prefix = 'phpbb_';
$acm_type = 'file';
$load_extensions = '';

@define('PHPBB_INSTALLED', true);
// @define('DEBUG', true);
// @define('DEBUG_EXTRA', true);
?>
Wobei ich es auch schon mit dem "i" versucht hatte, leider auch ohne Erfolg.

BTW : Ich benutze Version 1.23 pr REV257 von MySQLDumper.

Thx, für Deine Mühe.
Grüße Jens

Re: Umlaute werden "verschluckt"

Verfasst: 06.05.2009 09:16
von oxpus
Sorry, aber hier muss ich passen. Ich habe keine Idee, was hier noch falsch sein könnte...

Re: Umlaute werden "verschluckt"

Verfasst: 06.05.2009 09:46
von coolsoft
Ich hab so ne ungefähre Ahnung (Verdacht).
Bei der Installataion auf eine Version < 4.1.23 (Deie war 4.1.1) wird das SET Names Statement von phpbb3 nicht gesetzt / verwendet, das die Verbindung zur DB auf UTF8 setzt.
Stattdessen wird die Installation für MYSL 4.0 verwendet, das dieses Statement noch nicht kennt.
Heisst: erster Versuch: in der config.php $dbms auf mysql4 setzen.
(und mal wieder cache leeren anschliessend)
Das nächste wäre hier oder auf phpbb.com nach dem Suchbegriff 'SET NAMES' sicuhen - ich hab das Thema schon mal wo gelesen.
Die allerletzte Möglichkeit wäre, den letzten Dump unter Version 4.1 mal lokal in eine DB einpielen, die auf latin1 codiert ist und als utf8 wieder zu exportieren.
(hat aber mit den jüngeren Mysqldumper Versionen ein Problem, weil die Codierung bereits im Dump steht unbd automatisch gesetzt wird)
Wäre was, für einen, der das schon ein paar mal gemacht hat)
Tante Editha:
wenn Du keine Mods drinnen hast könnte man auf dem neuen MSQL5 phpBB3 neu installieren und anschliessend einfach auf die andere DB umschalten.

Re: Umlaute werden "verschluckt"

Verfasst: 06.05.2009 10:41
von Astro-Van
Hi,

das mit dem mysql4 bewirkte (nach Cache leeren) auch nur das dann alles weiß war.

Die Suche nach 'SET NAMES' brachte mir bei phpbb.com zu einer Lösung :
http://www.phpbb.com/community/viewtopi ... &t=1551205

bin mir da nur sehr unsicher, da der Verfasser von eine "zweifelhaften" bzw. rohe Lösung spricht.

Leider sind im original Forum einige (ca. 5-7 ) MOD´s "verbaut", wovon leider einige nicht Mysql5-kompatibel sind :cry: :cry: :cry: :cry:

Edit :
ich habe mal versucht die BD zu updaten (nicht ohne vorher ein Backup zumachen :o ), dann kam folgendes :

Code: Alles auswählen

Die Datenbank wird auf die neueste Version aktualisiert

Datenbanktyp :: mysql4
Vorherige Version :: 3.0.1
Aktualisierte Version :: 3.0.4


Datenbankstruktur wird aktualisiert

Fortschritt ::
ALTER TABLE `phpbb_drafts` CHANGE `draft_subject` `draft_subject` varchar(255) DEFAULT '' NOT NULL
.
ALTER TABLE `phpbb_forums` CHANGE `forum_last_post_subject` `forum_last_post_subject` varchar(255) DEFAULT '' NOT NULL
.
ALTER TABLE `phpbb_posts` CHANGE `post_subject` `post_subject` varchar(255) DEFAULT '' NOT NULL COLLATE utf8_unicode_ci
.
ALTER TABLE `phpbb_privmsgs` CHANGE `message_subject` `message_subject` varchar(255) DEFAULT '' NOT NULL
.
ALTER TABLE `phpbb_topics` CHANGE `topic_title` `topic_title` varchar(255) DEFAULT '' NOT NULL COLLATE utf8_unicode_ci
.
ALTER TABLE `phpbb_topics` CHANGE `topic_last_post_subject` `topic_last_post_subject` varchar(255) DEFAULT '' NOT NULL
.
DROP INDEX session_forum_id ON phpbb_sessions
.
CREATE INDEX session_fid ON phpbb_sessions(session_forum_id)
.
ALTER TABLE `phpbb_styles` CHANGE `style_id` `style_id` mediumint(8) UNSIGNED NOT NULL auto_increment
.
ALTER TABLE `phpbb_styles` CHANGE `template_id` `template_id` mediumint(8) UNSIGNED DEFAULT '0' NOT NULL
.
ALTER TABLE `phpbb_styles` CHANGE `theme_id` `theme_id` mediumint(8) UNSIGNED DEFAULT '0' NOT NULL
.
ALTER TABLE `phpbb_styles` CHANGE `imageset_id` `imageset_id` mediumint(8) UNSIGNED DEFAULT '0' NOT NULL
.
ALTER TABLE `phpbb_styles_imageset` CHANGE `imageset_id` `imageset_id` mediumint(8) UNSIGNED NOT NULL auto_increment
.
ALTER TABLE `phpbb_styles_imageset_data` CHANGE `image_id` `image_id` mediumint(8) UNSIGNED NOT NULL auto_increment
.
ALTER TABLE `phpbb_styles_imageset_data` CHANGE `imageset_id` `imageset_id` mediumint(8) UNSIGNED DEFAULT '0' NOT NULL
.
ALTER TABLE `phpbb_styles_theme` CHANGE `theme_id` `theme_id` mediumint(8) UNSIGNED NOT NULL auto_increment
.
ALTER TABLE `phpbb_styles_template` CHANGE `template_id` `template_id` mediumint(8) UNSIGNED NOT NULL auto_increment
.
ALTER TABLE `phpbb_styles_template_data` CHANGE `template_id` `template_id` mediumint(8) UNSIGNED DEFAULT '0' NOT NULL
.
ALTER TABLE `phpbb_forums` CHANGE `forum_style` `forum_style` smallint(4) UNSIGNED DEFAULT '0' NOT NULL
.
ALTER TABLE `phpbb_users` CHANGE `user_style` `user_style` mediumint(8) UNSIGNED DEFAULT '0' NOT NULL
. Erledigt
Ergebnis :: Einige Abfragen sind gescheitert. Die Abfragen und die zugehörigen Fehler sind weiter unten aufgeführt.

    * Fehler :: INDEX command denied to user 'web319'@'localhost' for table 'phpbb_sessions'
      SQL :: DROP INDEX session_forum_id ON phpbb_sessions

    * Fehler :: INDEX command denied to user 'web319'@'localhost' for table 'phpbb_sessions'
      SQL :: CREATE INDEX session_fid ON phpbb_sessions(session_forum_id)



Dies ist in der Regel nicht kritisch, die Aktualisierung wird fortgeführt. Sollte deren Fertigstellung scheitern, musst du möglicherweise Hilfe in unserem Supportforum in Anspruch nehmen. Details, wie und wo du Hilfe bekommst, kannst du der README-Datei entnehmen.

Daten werden aktualisiert

Fortschritt ::
UPDATE phpbb_groups SET group_max_recipients = 5 WHERE group_name IN ('GUESTS', 'REGISTERED', 'REGISTERED_COPPA', 'BOTS')
.
UPDATE phpbb_modules SET module_auth = 'acl_a_email && cfg_email_enable' WHERE module_class = 'acp' AND module_basename = 'email'
.
UPDATE phpbb_log SET log_operation = 'LOG_DELETE_TOPIC' WHERE log_operation = 'LOG_TOPIC_DELETED'
.
SELECT field_id, field_required, field_show_on_reg, field_hide FROM phpbb_profile_fields
.
UPDATE phpbb_profile_fields SET field_required = 0, field_show_on_reg = 1, field_hide = 0, field_show_profile = 1 WHERE field_id = 1
.
UPDATE phpbb_profile_fields SET field_required = 0, field_show_on_reg = 1, field_hide = 0, field_show_profile = 1 WHERE field_id = 2
. Erledigt
Ergebnis :: Keine Fehler


Version wird aktualisiert und Tabellen optimiert

Fortschritt ::
UPDATE phpbb_config SET config_value = '3.0.4' WHERE config_name = 'version'
.
UPDATE phpbb_users SET user_permissions = '', user_perm_from = 0
. Erledigt
Ergebnis :: Keine Fehler

Update abgeschlossen

Bitte stelle sicher, dass du auch die Dateien des Boards aktualisiert hast. Diese Datei aktualisiert nur die Datenbank.
Grüße Jens

Re: Umlaute werden "verschluckt"

Verfasst: 06.05.2009 10:50
von coolsoft
ach, sicher das file und versuchs - hebt eigenlich genau auf das Problem ab, das ich vermute.
auf alle Fälle sitzt der Ansatz an der Quelle der möglichen Ursache.

Re: Umlaute werden "verschluckt"

Verfasst: 06.05.2009 10:54
von coolsoft
Leider sind im original Forum einige (ca. 5-7 ) MOD´s "verbaut", wovon leider einige nicht Mysql5-kompatibel sind
Kann ich mir bei bb3 Mods eigentlich nicht vorstellen?

Re: Umlaute werden "verschluckt"

Verfasst: 06.05.2009 11:47
von Astro-Van
Hi,

leider kapier ich nicht wo in der mysql.php dieser Code eingefügt/welcher ersetzt werden soll.

Grüße Jens

Re: Umlaute werden "verschluckt"

Verfasst: 06.05.2009 13:15
von coolsoft
/includes/db/mysql.php:

Code: Alles auswählen

				if (version_compare($this->sql_server_info(true), '4.1.3', '>='))
				{
					@mysql_query("SET NAMES 'utf8'", $this->db_connect_id);
ersetze mit

Code: Alles auswählen

				if (version_compare($this->sql_server_info(true), '4.1.3', '>='))
				{
				// 	@mysql_query("SET NAMES 'utf8'", $this->db_connect_id);
Achte auf einen erwachsenen editor und daß Du das File als Typ utf8 ohne BOM abspeicherst.

Re: Umlaute werden "verschluckt"

Verfasst: 06.05.2009 13:48
von Astro-Van
Hi,

das hatte ich schon probiert, Ergebnis : alles weiß, allein schon beim Aufruf des Forums.

Ich meinte :

Code: Alles auswählen

 @mysql_query("SET NAMES 'latin1'");
         $result = $db->sql_query($sql);
      @mysql_query("SET NAMES 'utf8'"); 
wo kommt das hin ?

thx

Grüße Jens

Re: Umlaute werden "verschluckt"

Verfasst: 06.05.2009 13:58
von coolsoft
na dann hier in die Zeile (ersetze utf8 mit latin1)

Code: Alles auswählen

@mysql_query("SET NAMES 'utf8'", $this->db_connect_id);