[TYPO3-german] Fwd: Extension Manager Problem

Steffen Gebert steffen.gebert at typo3.org
Wed Jul 4 09:23:35 CEST 2012


Hallo Gerald,

kannst du darauf mal ein json_encode() machen und schaun, wo es 
abgeschnitten wird?

Kind regards
Steffen

-- 
Steffen Gebert
TYPO3 v4 Core Team Member
TYPO3 Server Administration Team Member

TYPO3 .... inspiring people to share!
Get involved: http://typo3.org

I work for TYPO3 solely in my spare time. If you think that
my work helps you running your business, you are invited to
send me a donation via PayPal to this email address. Thanks


Am 6/28/12 9:42 AM, schrieb Gerald Draxler:
> Hallo Steffen.
> Erstmal vielen Dank für deine Hilfe!
>
> $TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';
> $TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;';
>
> wenn ich $this->content ausgebe bekomme ich beim Aufruf der verfügbaren Extensions folgendes array zurück:
>
> Array
> (
>      [0] => Array
>          (
>              [tid] => 7
>              [action] => ExtDirect
>              [method] => setState
>              [type] => rpc
>              [result] => Array
>                  (
>                      [success] => 1
>                      [params] => stdClass Object
>                          (
>                              [scope] => stdClass Object
>                                  (
>                                      [events] => stdClass Object
>                                          (
>                                              [savefailure] => 1
>                                              [savesuccess] => 1
>                                              [readfailure] => 1
>                                              [readsuccess] => 1
>                                              [statechange] => 1
>                                          )
>
>                                      [state] => stdClass Object
>                                          (
>                                              [mainTab] => stdClass Object
>                                                  (
>                                                      [activeTab] => 1
>                                                  )
>
>                                              [LocalList] => stdClass Object
>                                                  (
>                                                      [columns] => Array
>                                                          (
>                                                              [0] => stdClass Object
>                                                                  (
>                                                                      [id] => 0
>                                                                      [width] => 20
>                                                                      [sortable] => 1
>                                                                  )
>
>                                                              [1] => stdClass Object
>                                                                  (
>                                                                      [id] => 1
>                                                                      [width] => 47
>                                                                      [sortable] => 1
>                                                                  )
>
>                                                              [2] => stdClass Object
>                                                                  (
>                                                                      [id] => 2
>                                                                      [width] => 744
>                                                                      [sortable] => 1
>                                                                  )
>
>                                                              [3] => stdClass Object
>                                                                  (
>                                                                      [id] => 3
>                                                                      [width] => 397
>                                                                      [sortable] => 1
>                                                                  )
>
>                                                              [4] => stdClass Object
>                                                                  (
>                                                                      [id] => 4
>                                                                      [width] => 347
>                                                                      [hidden] => 1
>                                                                      [sortable] => 1
>                                                                  )
>
>                                                              [5] => stdClass Object
>                                                                  (
>                                                                      [id] => 5
>                                                                      [width] => 596
>                                                                      [hidden] => 1
>                                                                      [sortable] => 1
>                                                                  )
>
>                                                              [6] => stdClass Object
>                                                                  (
>                                                                      [id] => 6
>                                                                      [width] => 248
>                                                                      [hidden] => 1
>                                                                      [sortable] => 1
>                                                                  )
>
>                                                              [7] => stdClass Object
>                                                                  (
>                                                                      [id] => 7
>                                                                      [width] => 100
>                                                                      [sortable] => 1
>                                                                  )
>
>                                                          )
>
>                                                      [sort] => stdClass Object
>                                                          (
>                                                              [field] => title
>                                                              [direction] => DESC
>                                                          )
>
>                                                      [group] => category
>                                                      [filters] => stdClass Object
>                                                          (
>                                                          )
>
>                                                  )
>
>                                              [em-languagegrid] => stdClass Object
>                                                  (
>                                                      [columns] => Array
>                                                          (
>                                                              [0] => stdClass Object
>                                                                  (
>                                                                      [id] => checker
>                                                                      [width] => 20
>                                                                  )
>
>                                                              [1] => stdClass Object
>                                                                  (
>                                                                      [id] => lang-label
>                                                                      [width] => 103
>                                                                      [sortable] => 1
>                                                                  )
>
>                                                              [2] => stdClass Object
>                                                                  (
>                                                                      [id] => lang-key
>                                                                      [width] => 103
>                                                                      [sortable] => 1
>                                                                  )
>
>                                                          )
>
>                                                      [sort] => stdClass Object
>                                                          (
>                                                              [field] => label
>                                                              [direction] => ASC
>                                                          )
>
>                                                  )
>
>                                          )
>
>                                      [delay] => 750
>                                      [dirty] =>
>                                      [started] => 1
>                                      [autoStart] => 1
>                                      [autoRead] =>
>                                      [key] => moduleData.tools_em.States
>                                      [logFailure] =>
>                                      [logSuccess] =>
>                                      [queue] => Array
>                                          (
>                                              [0] => stdClass Object
>                                                  (
>                                                      [name] => mainTab
>                                                      [value] => stdClass Object
>                                                          (
>                                                              [activeTab] => 0
>                                                          )
>
>                                                  )
>
>                                          )
>
>                                      [saveBaseParams] => stdClass Object
>                                          (
>                                          )
>
>                                      [readBaseParams] => stdClass Object
>                                          (
>                                          )
>
>                                      [paramNames] => stdClass Object
>                                          (
>                                              [key] => key
>                                              [name] => name
>                                              [value] => value
>                                              [data] => data
>                                          )
>
>                                      [dt] => stdClass Object
>                                          (
>                                          )
>
>                                  )
>
>                              [queue] => Array
>                                  (
>                                      [0] => stdClass Object
>                                          (
>                                              [name] => mainTab
>                                              [value] => stdClass Object
>                                                  (
>                                                      [activeTab] => 0
>                                                  )
>
>                                          )
>
>                                  )
>
>                              [params] => stdClass Object
>                                  (
>                                      [key] => moduleData.tools_em.States
>                                      [data] => [{"name":"mainTab","value":{"activeTab":0}}]
>                                  )
>
>                          )
>
>                  )
>
>              [debug] =>
>          )
>
> )
>
>
> -------- Original-Nachricht --------
>> Datum: Thu, 28 Jun 2012 08:53:28 +0200
>> Von: Steffen Gebert <steffen.gebert at typo3.org>
>> An: typo3-german at lists.typo3.org
>> Betreff: Re: [TYPO3-german] Fwd: Extension Manager Problem
>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Hallo Gerald,
>>
>> okay, die Stelle hatte ich mir schon angeschaut. Nur der Rückgabewert
>> wird da eben nicht weiter geprüft, aber das Ergebnis scheint jetzt
>> tatsächlich anders zu sein.
>>
>>> protected function renderAsJSON() {
>>> 		// If the backend does not run in UTF-8 then we need to convert it to
>> unicode as
>>> 		// the json_encode method will return empty otherwise
>>> 	if ($this->charset != $this->requestCharset) {
>>> 		$GLOBALS['LANG']->csConvObj->convArray($this->content, $this->charset,
>> $this->requestCharset);
>>> 	}
>>>
>>> 	$content = json_encode($this->content);
>>
>> Ich würde mal vermuten, dass dein System nicht korrekt konifguiert ist.
>> Was hast du für $TYPO3_CONF_VARS['BE']['forceCharset'] sowie bei DBinit?
>>
>> Du könntest auch mal den Wert von $this->content direkt ausgeben lassen
>> (und dann zB über Firebug die Ausgabe des AJAX-calls begutachten). Dann
>> wüssten wir jedenfalls, woher der falsch kodierte Inhalt kommt.
>>
>> Kind regards
>> Steffen
>>
>> - --
>> Steffen Gebert
>> TYPO3 v4 Core Team Member
>> TYPO3 Server Administration Team Member
>>
>> TYPO3 .... inspiring people to share!
>> Get involved: http://typo3.org
>>
>> I work for TYPO3 solely in my spare time. If you think that
>> my work helps you running your business, you are invited to
>> send me a donation via PayPal to this email address. Thanks
>>
>> On 28.06.12 08:35, Gerald Draxler wrote:
>>> Hier das gesamte Feedback von unserem Hoster:
>>>
>>> "wir konnten den Fehler auf ein Versionsupdate von PHP 5.3.13 auf 5.3.14
>> zurückführen, das am Freitag vorgenommen wurde.
>>>
>>> Ein Trace Ihrer PHP-Prozesse liefert:
>>>
>>> write(4, "o\1\0\0\3INSERT INTO sys_log
>>> (userid,type,action,error,details_nr,details,IP,tstamp,workspace) VALUES
>>> ('5','5','0','1','0','Core: Error handler (BE): PHP Warning:
>> json_encode() [<a
>>> href=\\'function.json-encode\\'>function.json-encode</a>]: Invalid UTF-8
>> sequence in argument in
>> /usr/www/users/standm/typo3/classes/class.typo3ajax.php
>>> line 275','80.150.215.98','1340635563','0')", 371) = 371 read(4,
>> "\t\0\0\1\0\1\374%\2\2\0\0\0", 16384) = 13
>>>
>>> Hier wird folgende Fehlermeldung ins Typo3 Datenbank-Log geschrieben:
>>> Core: Error handler (BE): PHP Warning: json_encode() [<a
>>> href=\\'function.json-encode\\'>function.json-encode</a>]: Invalid UTF-8
>> sequence in argument in
>> /usr/www/users/standm/typo3/classes/class.typo3ajax.php
>>> line 275
>>>
>>> Dieser Fehler hängt höchstwahrscheinlich mit folgender Änderung
>> zusammen, die das PHP Entwicklerteam in Version 5.3.14 vorgenommen hat:
>>>
>>> - JSON: Fixed bug #61537 (json_encode() incorrectly truncates/discards
>>> information)
>>>
>>> Changelog einzusehen unter: http://www.php.net/ChangeLog-5.php
>>> Link zum entsprechenden PHP-Bugreport: http://bugs.php.net/61537
>>>
>>> Im Klartext heißt das, dass die PHP-Funktion json_encode() bei
>> fehlerhaftem Input nun NULL statt false zurückliefert, dies bringt offenbar Ihren
>> Erweiterungsmanager durcheinander - an die entsprechende Funktion wurde
>> bereits vor dem Update wohl fehlerhaft codierter UTF-8 Input übergeben, die
>> Funktion überging dies aber (inkorrekter Weise), indem Sie einfach NULL
>> zurücklieferte - nun wird aber false zurückgegeben und ein Typo3-Fehler
>> ausgelöst.
>>>
>>> Korrekter Weg, dies zu lösen wäre aus unserer Sicht, den fehlerhaften
>> Input zu vermeiden, stellt sich die Frage, woher dieser Input stammt,
>> vermutlich aus Ihrer Datenbank - ohne die Typo3-Sourcen zu debuggen können wir
>> dies aber nicht feststellen."
>>>
>>>
>>> Sie haben von der Tabelle sys_log den Fehler entnommen und dieser wir
>> eingetragen (wie schon weiter unten erwähnt), wenn der Extension-Manager
>> aufgerufen wird.
>>>
>>> Beste Grüße
>>>
>>>
>>> -------- Original-Nachricht --------
>>>> Datum: Wed, 27 Jun 2012 17:10:56 +0200
>>>> Von: Steffen Gebert <steffen.gebert at typo3.org>
>>>> An: typo3-german at lists.typo3.org
>>>> Betreff: Re: [TYPO3-german] Fwd: Extension Manager Problem
>>>
>>> Ja, soweit hab ich das schon verstanden, nur versteh ich noch nicht, wo
>>> die fehlerhafte Stelle im Code sein soll.
>>>
>>> Kind regards
>>> Steffen
>>>
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
>> Comment: GPGTools - http://gpgtools.org
>> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>>
>> iQEcBAEBAgAGBQJP6/9oAAoJEIskG/rSlyw4Nv0IAKb2lrYGFit6nJ0ktsSgVyUm
>> 1tAezaSxTonLLyJEeXtqAOJgFOCHwg/dxOsMjRaGtnqad18C3PHntjY65xq9My/1
>> PYCL6T6MLdDt41L96cPu1sBp+cTcsVjkr9Pca/0X/D3LTn8VneBa47x3KVWIr+G4
>> /trBu05mhfa2N6bX4VPHkxrT3i8y4bNdKwG4Yh5BRfes8h4JrwRUifEhzsa4T+KO
>> 1Al+9hApjcvk05Z2k+x/iB9g25/gDOa5OBUJB5c46L1PT2JzgZDJRHAbrLS34cWt
>> VUttCRalW7LyXMGBFpBcnwDgwpVgIU+UB3+RxDJqoZallAA+mOCC+Lfivhbc5sg=
>> =ZY24
>> -----END PGP SIGNATURE-----
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german



More information about the TYPO3-german mailing list