Unverständliches printf-Verhalten
Thoralf Knuth
- php
Hallo zusammen,
ich hab eine Frage zu PHPs (s)printf, mit der ich nicht weiterkomme.
Ich kann den Code auf folgende Schnippsel reduzieren. Ziel ist es, mittels argument swapping ein einfaches Template zu füllen.
$a='%1$u: %2$s<br />';
printf( $a, 0, "Bla" );
funktioniert einwandfrei und gibt erwartungsgemäß zurück:
0: Bla<br />
$a='
<dt id="gb٪1$u"><strong>٪2$s</strong> ٪3$s schrieb am <abbr title="٪4$s">٪5$s</abbr>:</dt>
<dd>
٪6$s
٪7$s
<address>٪8$s | ٪9$s</address>
</dd>
';
printf( $a, 0, "Bla" );
Hier wird der Formatstring ungeparsed durchgereicht und ich versteh's nicht.
Gruß, Thoralf
Oh man .. im Code selber hab ich das nicht gesehen, hier schon ...
$a='%1$u: %2$s<br />';
<dt id="gb٪1$u"><strong>٪2$s</strong>
Man achte auf die Prozentzeichen ... UTF und ISO nehm ich mal an :/
Gruß, Thoralf
Hi!
Oh man .. im Code selber hab ich das nicht gesehen, hier schon ...
$a='%1$u: %2$s<br />';
<dt id="gb٪1$u"><strong>٪2$s</strong>
Man achte auf die Prozentzeichen ... UTF und ISO nehm ich mal an :/
Das ٪ ist das Unicode-Zeichen 0x0066A (Arabic Percent Sign). Das ist in der Tat nicht in ISO-8859-x enthalten. Wie hast du das in deine Codedatei bekommen?
Das "normale" Prozentzeichen % ist Bestandteil von ASCII und kann damit mit ISO-8859-1 und UTF-8 gleichermaßen dargestellt werden.
Lo!
N'Abend,
Das ٪ ist das Unicode-Zeichen 0x0066A (Arabic Percent Sign). Das ist in der Tat nicht in ISO-8859-x enthalten. Wie hast du das in deine Codedatei bekommen?
Das "normale" Prozentzeichen % ist Bestandteil von ASCII und kann damit mit ISO-8859-1 und UTF-8 gleichermaßen dargestellt werden.
Kann ich gar nicht sagen, ich vermute, beim C&P oder beim Kodierung im Editor einstellen was falsch gemacht. Aber vll. hilft es ja jemandem im Archiv, schneller als ich drauf zu kommen. ;-)
Gruß, Thoralf
Hi!
Das ٪ ist das Unicode-Zeichen 0x0066A (Arabic Percent Sign). Das ist in der Tat nicht in ISO-8859-x enthalten. Wie hast du das in deine Codedatei bekommen?
Kann ich gar nicht sagen, ich vermute, beim C&P oder beim Kodierung im Editor einstellen was falsch gemacht. Aber vll. hilft es ja jemandem im Archiv, schneller als ich drauf zu kommen. ;-)
Hat dein PC irgendeinen Grund, dass er da mit arabischen Zeichen "rummacht"? Wenn ich beispielsweise ploetzlich anders schriebe, liegt das an einem chinesichen Tastaturtreiber。
Lo!
N'Abend,
Hat dein PC irgendeinen Grund, dass er da mit arabischen Zeichen "rummacht"? Wenn ich beispielsweise ploetzlich anders schriebe, liegt das an einem chinesichen Tastaturtreiber。
Hm, das könnte auch sein, ich hab den Tastaturtreiber von Ubuntu geändert, weil Accents gebraucht habe. Währenddessen habe ich aber nicht am PHP rumgebaut. Müstäriös, müstäriös™.
Gruß, Thoralf