Sonderzeichen in PHP ( Zeichen '°' für GPS Angaben )

Hi,

ich arbeite zur Zeit an einer Website die GPS Positionen aus einer
MySQL DB ausliest und mithilfe von Google Maps, darstellt.

Mein Problem dabei ist folgendes :
In der Datenbank liegen die Angaben in diesem Format vor :
Feld 'gps_pos_lat' : '49=B052.1703'
Feld 'gps_pos_lon' : '015=B039.0064'

Das ganze übergebe ich per PHP in das Google maps Javascript :
echo 'map.setCenter(new GLatLng('.$gpspos["lat"].','.
$gpspos["lon"].'), 13);';

Die Seitencodierung ist : <meta http-equiv=3D"content-type"
content=3D"text/html; charset=3Dutf-8"/>
Die Datenbank ist übrigens auch utf-8.

Soweit so gut, ABER :
wenn ich mir den Seitenquelltext ansehe, kommt folgendes raus :
map.addControl(new GMapTypeControl());map.setCenter(new GLatLng(47?
52.1378,012?38.9598), 13);

Sprich das '=B0' Zeichen wird in ein ? umgewandelt, das die API
natürlich nicht verarbeiten kann.

Hat jemand eine Idee woran das liegen könnte bzw wie ich dieses
Zeichen sicher an die API übergeben kann ?


danke schonmal und grüße

Lunex
Lunex [ Fr, 27 Juli 2007 09:38 ] [ ID #1780280 ]

Re: Sonderzeichen in PHP ( Zeichen '°' für GPS Angaben )

Wie ich gerade sehe kann das Zeichen hier auch nicht dargestellt
werden Oo
Es handel sich um das Zeichen mit dem ASCII Wert 176, einen kleinen
Hochgestellten Kreis ( Shift+ Taste links neben '1/!')

danke

Lunex
Lunex [ Fr, 27 Juli 2007 09:42 ] [ ID #1780281 ]

Re: Sonderzeichen in PHP ( Zeichen '°' für GPS Angaben )

Lunex schrieb:
> Hi,
>
> ich arbeite zur Zeit an einer Website die GPS Positionen aus einer
> MySQL DB ausliest und mithilfe von Google Maps, darstellt.
>
> Mein Problem dabei ist folgendes :
> In der Datenbank liegen die Angaben in diesem Format vor :
> Feld 'gps_pos_lat' : '49°52.1703'
> Feld 'gps_pos_lon' : '015°39.0064'

Wieso benutzt du nicht ein ordentliches Datenformat? Das hier ist doch
Unfug.

>
> Das ganze übergebe ich per PHP in das Google maps Javascript :
> echo 'map.setCenter(new GLatLng('.$gpspos["lat"].','.
> $gpspos["lon"].'), 13);';
>
> Die Seitencodierung ist : <meta http-equiv="content-type"
> content="text/html; charset=utf-8"/>
> Die Datenbank ist übrigens auch utf-8.
>
> Soweit so gut, ABER :
> wenn ich mir den Seitenquelltext ansehe, kommt folgendes raus :
> map.addControl(new GMapTypeControl());map.setCenter(new GLatLng(47?
> 52.1378,012?38.9598), 13);

Ich melde starke Zweifel daran an, dass das funktionieren würde, selbst
wenn da das Grad-Symbol stehen würde.

Mindestens müsstest du es dann als String schreiben, aber ich glaube
auch nicht, dass die gmap-API das parst.

Also: ordentliche Formate benutzen, dann erledigt sich dein Problem von
selbst. Alles andere ist Frickelei.

Daniel
--
------- _ | _ |_ _. | _ _ _ -------
(_| | (_) |_) (_| | /_ (_) (_)
_| Deine Reisecommunity
--- Reiseblogs - Reisekarte - Reisetipps - http://www.globalzoo.de/ ---
Daniel Fett [ Fr, 27 Juli 2007 10:33 ] [ ID #1780289 ]

Re: Sonderzeichen in PHP ( Zeichen '°' für GPS Angaben )

Lunex wrote:
> Die Seitencodierung ist : <meta http-equiv="content-type"
> content="text/html; charset=utf-8"/>
> Die Datenbank ist übrigens auch utf-8.
[...]
> Sprich das '°' Zeichen wird in ein ? umgewandelt, das die API

Prüfe mal den Zeichensatz der Verbindung zu MySQL. Ich hab den Verdacht,
dass die Angaben bei PHP als ISO-9660 ankommen und nicht UTF8.

Gruß,
Michael

--
Testscript für RegEchsen:
http://diesundas.funzt-halt.net/regextest.php
Michael Ziegler [ Fr, 27 Juli 2007 10:47 ] [ ID #1780292 ]

Re: Sonderzeichen in PHP ( Zeichen '°' für GPS Angaben )

danke für eure antworten,
ich habe das problem jetzt umgangen indem ich grad minuten usw.
VOR dem eintragen in die db in dezimal schreibweise umwandle.

Damit werden sie dann auch dezimal an google maps übergeben.

PROBLEM SOLVED !

danke

Lunex
Lunex [ Fr, 27 Juli 2007 12:07 ] [ ID #1780296 ]

Re: Sonderzeichen in PHP ( Zeichen '°' für GPS Angaben )

> Prüfe mal den Zeichensatz der Verbindung zu MySQL. Ich hab den Verdacht,
> dass die Angaben bei PHP als ISO-9660 ankommen und nicht UTF8.

Als Dateiformat für CD-ROM? Unwahrscheinlich ;-).

--
Mein Zeugs:
http://www.hadanite-marasek.de/classes.php
http://www.objektivsuche.de/
Hadanite Marasek [ Fr, 27 Juli 2007 12:21 ] [ ID #1780297 ]

Re: Sonderzeichen in PHP ( Zeichen '°' für GPS Angaben )

Lunex schrieb:
> danke für eure antworten,
> ich habe das problem jetzt umgangen indem ich grad minuten usw.
> VOR dem eintragen in die db in dezimal schreibweise umwandle.
>
> Damit werden sie dann auch dezimal an google maps übergeben.
>
> PROBLEM SOLVED !

Gute Entscheidung!

Noch ein Tipp für's nächste Mal: Es wird hier gerne gesehen, wann man
unter einem echten Namen schreibt.

Daniel
--
------- _ | _ |_ _. | _ _ _ -------
(_| | (_) |_) (_| | /_ (_) (_)
_| Deine Reisecommunity
--- Reiseblogs - Reisekarte - Reisetipps - http://www.globalzoo.de/ ---
Daniel Fett [ Fr, 27 Juli 2007 12:25 ] [ ID #1780298 ]

Re: Sonderzeichen in PHP ( Zeichen '°' für GPS Angaben )

Hadanite Marasek wrote:
>> Pr=C3=BCfe mal den Zeichensatz der Verbindung zu MySQL. Ich hab den Ve=
rdacht,
>> dass die Angaben bei PHP als ISO-9660 ankommen und nicht UTF8.
>
> Als Dateiformat f=C3=BCr CD-ROM? Unwahrscheinlich ;-).

Erst mu=C3=9Fte ich auch lachen, aber es GIBT einen ISO-9660 Zeichensatz,=

n=C3=A4mlich die Zeichen, die f=C3=BCr die Dateinamen in dem Dateiformat =
erlaubt
sind. Trotzdem ist das in diesem Kontext eher nicht der Fall. ;-)

Gr=C3=BC=C3=9Fe,

Alex
Alexander Schestag [ Fr, 27 Juli 2007 12:37 ] [ ID #1780300 ]

Re: Sonderzeichen in PHP ( Zeichen '°' für GPS Angaben )

Hadanite Marasek wrote:
>> Prüfe mal den Zeichensatz der Verbindung zu MySQL. Ich hab den Verdacht,
>> dass die Angaben bei PHP als ISO-9660 ankommen und nicht UTF8.
> Als Dateiformat für CD-ROM? Unwahrscheinlich ;-).

Ups... bei diesen ganzen ISO-9660... ISO-8859-X... ISO-1337-Dingern kann
man doch mal was verwechseln :P

Michael

--
Testscript für RegEchsen:
http://diesundas.funzt-halt.net/regextest.php
Michael Ziegler [ Fr, 27 Juli 2007 13:15 ] [ ID #1780304 ]
PHP » de.comp.lang.php.misc » Sonderzeichen in PHP ( Zeichen '°' für GPS Angaben )

Vorheriges Thema: SESSION-ID 'verschwinden' lassen
Nächstes Thema: Unterschied zwischen = und =&