我有一个表单,我正在使用 PHP 文件将其内容写入文本文件。我的问题是,每当我尝试编写特殊字符(例如 è é à á ä 等)时,它们都会被其他奇怪的字符(例如 è é Ã)替换。
我环顾四周,但不同论坛上建议的解决方案都没有解决我的问题。
在这里你可以找到我正在谈论的 HTML 表单:http: //beginninghtml.altervista.org/InfinitySMS_Web/index.html
处理我的 html 表单的 PHP 文件是http://beginninghtml.altervista.org/InfinitySMS_Web/process-form-data.php
:
$phonenum = $_POST['phonenum'];
$messagetext = $_POST['messagetext'];
$types=$_POST['types'];
$message=stripslashes($messagetext);
//if no message entered and no mobile num entered print an error
if (empty($phonenum) && empty($messagetext)){
print "Non sono stati inseriti il testo del messaggio e il numero del destinatario.<br>Inseriscili per poter inviare il tuo messaggio.";
}
//if no message entered send print an error
elseif (empty($messagetext)){
print "Non è stato inserito alcun testo per il messaggio.<br>Inseriscilo per poter inviare il tuo messaggio.";
}
//if no mobile num entered send print an error
elseif (empty($phonenum)){
print "Non è stato inserito il numero del destinatario.<br>Inseriscilo per poter inviare il tuo messaggio.";
}
elseif (strlen($phonenum)<11){
if (strlen($phonenum)>9){
//if the form has both a phone number and a text message.
//write data to the file
$name = $_POST['phonenum'];
$email = $_POST['messagetext'];
$fp = fopen("formdata.txt", "a");
$savestring = $name . "!$@$!;" . $email . "!$@$!;\n";
fwrite($fp, $savestring);
fclose($fp);
header("location:success.html");
}
else
{
print "Il numero di cellulare inserito non è corretto: il numero del destinatario deve contenere 10 cifre.";
}
}
这里是包含所谓“奇怪”字符的 txt 文件的 URL:http: //beginninghtml.altervista.org/InfinitySMS_Web/formdata.txt