Re: Texteingabe in 160er Zeichenblöcke aufteilen inkl. äöü und Sonderzeichen
PHP Script, Suse 9.1
Ob es sich um UTF 8 handelt oder nicht weiss ich nicht. Es ist eigentlich
ein einfacher POST Befehl.
Soll ich dir privat den Quellcode zumailen? Ich möchte den Quellcode nur
sehr ungern hier veröffentlichen....
----- Original Message -----
From: "David Haller"
Hallo,
Am Wed, 25 Aug 2004, Christian Geissler schrieb:
ein Zeichenplatz.. Sprich wenn ich 160 mal das Zeichen ä eintippe dann enthält jede Nachricht nur noch ca. 50 Zeichen statt 160, dafür bekomme ich dann 3 SMS a 50 Zeichen. Ich denke ich habe die Stelle gefunden, welches die Nachricht in 160 Zeichen aufteilt. Kann mir jemand sagen, wass ich ändern muss, damit ä ö ü und andere Sonderzeichen nur noch EINEN Zeichenplatz weg nimmt? Oder dass die Nachrichten auch mit äöü und anderen Sonderzeichen korrekt aufgeteilt wird?
Auszug:
for ($i=0; $i
Perlscript? SuSE 9.1? UTF-8 locale? Dann liegt's daran, dass die Zeichen eben mit UTF-8 kodiert sind.
-dnh
-- 134: Benutzerfreundlichkeit Der Benutzer hat zum Admin freundlich zu sein. (Thorsten Fenk)
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Hallo, [diese Klammern erinnern an Tofu] Lese mal http://learn.to/quote . On Thursday 26 August 2004 15:47, Christian Geissler wrote:
From: "David Haller"
Am Wed, 25 Aug 2004, Christian Geissler schrieb:
ein Zeichenplatz.. Sprich wenn ich 160 mal das Zeichen ä eintippe dann enthält jede Nachricht nur noch ca. 50 Zeichen statt 160, dafür bekomme ich dann 3 SMS a 50 Zeichen. Ich denke ich habe die Stelle gefunden, welches die Nachricht in 160 Zeichen aufteilt. Kann mir jemand sagen, wass ich ändern muss, damit ä ö ü und andere Sonderzeichen nur noch EINEN Zeichenplatz weg nimmt? Oder dass die Nachrichten auch mit äöü und anderen Sonderzeichen korrekt aufgeteilt wird?
Auszug: Probiere mal: utf8_decode($message); for ($i=0; $i
Perlscript? SuSE 9.1? UTF-8 locale? Dann liegt's daran, dass die Zeichen eben mit UTF-8 kodiert sind.
PHP Script, Suse 9.1
Ob es sich um UTF 8 handelt oder nicht weiss ich nicht. Es ist eigentlich ein einfacher POST Befehl.
Ich nahm jetzt einfach mal an, dass es UTF8-kodiert ist. Ferdinand
Hi.
Schreibe leider über mein Handy da ich in New York sitze und konnte desshalb
die ">" Zeichen nicht einfügen. Sony ist dieser Fehler bekannt. I'm Sorry...
Hat sonst noch jemand einen Tipp?
----- Original Message -----
From: "Ferdinand Ihringer"
From: "David Haller"
Am Wed, 25 Aug 2004, Christian Geissler schrieb:
ein Zeichenplatz.. Sprich wenn ich 160 mal das Zeichen ä eintippe dann enthält jede Nachricht nur noch ca. 50 Zeichen statt 160, dafür bekomme ich dann 3 SMS a 50 Zeichen. Ich denke ich habe die Stelle gefunden, welches die Nachricht in 160 Zeichen aufteilt. Kann mir jemand sagen, wass ich ändern muss, damit ä ö ü und andere Sonderzeichen nur noch EINEN Zeichenplatz weg nimmt? Oder dass die Nachrichten auch mit äöü und anderen Sonderzeichen korrekt aufgeteilt wird?
Auszug: Probiere mal: utf8_decode($message); for ($i=0; $i
Perlscript? SuSE 9.1? UTF-8 locale? Dann liegt's daran, dass die Zeichen eben mit UTF-8 kodiert sind.
PHP Script, Suse 9.1
Ob es sich um UTF 8 handelt oder nicht weiss ich nicht. Es ist eigentlich ein einfacher POST Befehl.
Ich nahm jetzt einfach mal an, dass es UTF8-kodiert ist. Ferdinand -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
On Thursday 26 August 2004 17:28, Christian Geissler wrote:
Hi. Schreibe leider über mein Handy da ich in New York sitze und konnte desshalb die ">" Zeichen nicht einfügen. Sony ist dieser Fehler bekannt. I'm Sorry...
Hat sonst noch jemand einen Tipp?
Nein, aber noch eine Korrektur:
$message = utf8_decode($message);
for ($i=0; $i
Hier habt Ihr mal mein Quellcode, habe noch ein paar Zeilen abgeändert, wir
wollen ja nicht, dass sich irgendwelche leute über das Scripts Nachrichten
zusenden können oder? Danke für Eure Hilfe.
<?php /*
mysql_pconnect('localhost','gw','123456');
mysql_select_db('gw');
function errmsg($msg, $action) {
print "<script language='JavaScript' type='text/javascript'>";
if ($msg) print "alert('".addslashes($msg)."');";
switch ($action) {
case 'back': print "history.back();"; $exit=true; break;
case 'reload': print "location.href='".$_SERVER['PHP_SELF']."'"; $exit=true;
break;
case 'close': print "window.close();"; $exit=true; break;
case 'exit': $exit=true; break;
default:
$loc = preg_replace('/^location=(.*)$/', '\\1', $action);
if ($loc) {
print "location.href='$loc';";
$exit=true;
}
break;
}
print "</script>";
if ($exit) exit; else return;
}
/* sends an sms
* params:
* originator originator text or number
* recipient number of recipient
* message full message
* time sofort / later
* date if time == later, then date (isoformat)
* return:
* error message if fail or nothing if success
*/
function sendSMS ($originator, $recipient, $message, $time=null, $date=null)
{
$error = false;
$message = stripslashes($message);
$message = str_replace("\n", '', $message);
$message = str_replace("\r", '', $message);
$message = str_replace("\t", '', $message);
$message = urlencode($message);
for ($i=0; $i<strlen($message); $i+=161) {
$msg = substr($message, $i, $i+160);
$data = "username=chrigi&";
$data.= "password=123456&";
$data.= "originator=$originator&";
$data.= "receiver=$recipient&";
$data.= "message=$msg";
//$host = "https://urltosend.ch/send_debug.php";
$host = "https://urltosend.ch/send.php";
// send data
$rtnfile = "/tmp/sms-test.$recipient.".`echo -n $$`;
$fp = fopen ($rtnfile, 'w');
$fp1 = fopen ("$rtnfile.err", 'w');
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $host);
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLOPT_FILE, $fp);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt ($ch, CURLOPT_STDERR, $fp1);
curl_exec ($ch);
curl_close ($ch);
fclose ($fp);
$res = implode('', file($rtnfile));
if (!strstr($res, 'HTTP/1.1 200 OK') || strstr($host, 'debug')) {
$fp = fopen ('sms-gw.log','a');
fwrite ($fp, "$data\n$res\n\n");
fclose ($fp);
$error = true;
} else {
$sql = "insert into SMSlog (datum, idUsers, nr, message) ";
$sql.= "values (now(), $_SESSION[idusers], $recipient, '$message')";
mysql_query($sql);
}
}
if ($error)
return "Ihr SMS an $recipient verursachte einen Fehler.<br />\n";
else
return;
}
?>
----- Original Message -----
From: "Ferdinand Ihringer"
Hi. Schreibe leider über mein Handy da ich in New York sitze und konnte desshalb die ">" Zeichen nicht einfügen. Sony ist dieser Fehler bekannt. I'm Sorry...
Hat sonst noch jemand einen Tipp?
Nein, aber noch eine Korrektur:
$message = utf8_decode($message);
for ($i=0; $i
participants (2)
-
Christian Geissler
-
Ferdinand Ihringer