我正在使用C#和.php文件在服务器上编写和读取.txt文件,在我的C#下面
IEnumerator writeString()
{
string mycontent = "42.00 £3.80 sending test string";
url = "http://www.myServer.com/ewExternalFiles/writeScript.php?txt=" + mycontent;
WWW www = new WWW(url);
yield return www;
progress = www.progress;
while(progress < 1)
{
yield return null;
}
if (www.error == null)
{
Debug.Log("successfully written to server ..");
}
else
{
Debug.Log("Error! (" + www.error + ")");
}
}
我的.php代码
<?php
$txtcontent = $_REQUEST['txt'];
$fp = fopen("file.txt", w);
fwrite($fp, $txtcontent);
echo $fp;
fclose($fp);
?>
当阅读它时,一切正常,但如果我改变了行
string mycontent = "42.00 £3.80 sending test string";
到
string mycontent = "42.00% £3.80 sending test string";
我收到错误
由于字符串中的%,从服务器“错误! (400 Bad Request)'
,我的字符串中不能有这个吗?罐。
答案 0 :(得分:1)
只能使用ASCII字符集通过Internet发送URL。 由于URL通常包含ASCII集之外的字符,因此必须将URL转换为有效的ASCII格式。
string mycontent = WebUtility.UrlEncode("42.00% £3.80 sending test string");
UrlEncode方法用于接收字符串并用&#34;%&#34;替换不安全的ASCII字符。后跟两个十六进制数字。