我正在尝试将输入从edittext发送到PHP。如果我发送没有空格的东西,它可以正常工作,但有空格时崩溃,并说:
非法字符
指的是空间。
很明显,这是一个正确报价的问题,但由于某种原因,我无法正确报价。
在哪里添加引号?
在创建URL的过程中是否使用Java?
http://example.com/android/project_group_notes_details.php?course=''"+sessionCourse+"''";
还是在创建变量时?
String sessionCouse = "''Software Development With Spaces''";
还是以某种方式在服务器端完成?
标准浏览器会将输入地址栏的所有空格替换为%20
;HTML的space
字符。
HTTP不会这样做,浏览器会这样做,这意味着你有两个选择:
- 创建一个函数来接收一个字符串,并将所有空格替换为
%20
- 用
%20
手动替换空间
例如:
String sessionCouse = "''Software Development With Spaces''";
实际上应该是
String sessionCouse = "''Software%20Development%20With%20Spaces''";
当以编程方式与后端服务器通信时,您应该使用URL编码来正确编码您的输入:
String fullURL = "http://example.com/android/project_group_notes_details.php?course=''"+ URLEncoder.encode(sessionCouse, "UTF-8") + "''";