Ich habe eine mehrsprachige Website in der auch chinesische Zeichen vorkommen. Die Anzeige auf der Website erfolgt korrekt.
In meiner Extension gibt es jedoch folgendes Problem:
1.) Wenn ich per
echo ($this->pi_getLL('nav_previous'));
chinesischen Text ausgebe, der in der locallang.xml enthalten ist, werden nur ? ausgegeben. Die Datei ist als UTF-8 angelegt.
2.) Wenn ich via Typoscript den Wert setze, z.B.
plugin.user_navigator_pi1._LOCAL_LANG.default.nav_previous = [hier chinesischer Text]
werden irgendwelche seltsamen Zeichen ausgegeben.
Typo3 ist für UTF-8 konfiguriert:
Localconf: $TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';
Templateconf: config.metaCharset = UTF-8
DB ist ebenfalls als UTF-8 angelegt.
3.) Wenn ich den Text in meiner Extension mit
echo "[hier chinesischer Text]";
direkt ausgebe, wird er korrekt angezeigt.
Hat jemand eine Idee woran das liegen könnte?
Dein Fehler ist, das in der default-section keine Sonderzeichen enthalten sein dürfen. Diese ist i.d.R. für englisch. In der lang-Section kannst Du die Sonderzeichen nutzen, und das geht ohne Probleme.
steffenk schrieb
Dein Fehler ist, das in der default-section keine Sonderzeichen enthalten sein dürfen. Diese ist i.d.R. für englisch. In der lang-Section kannst Du die Sonderzeichen nutzen, und das geht ohne Probleme.
Vielen Dank für den Tipp.
Nun habe ich die config für den chinesischen Bereich wie folgt geändert:
config.language = cn
Jetzt habe ich in der XML-Datei stehen:
...
<languageKey index="cn" type="array">
<label index="nav_next">[chinesischer Text]</label>
...
Allerdings werden jetzt wieder Fragezeichen ausgegeben.
Wenn ich dagegen
plugin.user_navigator_pi1._LOCAL_LANG.default.nav_previous = [hier chinesischer Text]
eingebe, wird der Text korrekt ausgegeben??
Lösung: Typo3 locallang erkennt cn nicht sondern will für chinesisch ch.
Korrekte Lösung:
config.language = cn
locallang.xml:
...
<languageKey index="cn" type="array">
<label index="nav_next">[chinesischer Text]</label>
...