Php 如何将包含任何字符的NSStrings获取到数据库中?

Php 如何将包含任何字符的NSStrings获取到数据库中?,php,mysql,nsstring,character,Php,Mysql,Nsstring,Character,我让用户使用PHP编写,然后将他们编写的内容发布到我的MYSQL数据库中。我一直将字符串作为URL发送,然后在php中使用$_GET['string'],然后将它们放入数据库。我必须始终用%20替换字符串中的空格。然后我不得不在上面替换各种不同的字符,这样URL才能正常工作。这是一场失败的战斗,用户希望他们的字符串被保存,但是如果他们包含我没有想到的字符,情况就不会是这样了。我甚至在帖子中尝试将字符串作为NSData发送,但这似乎也无法保存字符串 我怎样才能确保用户的字符串会被保存,不管他们输入

我让用户使用PHP编写,然后将他们编写的内容发布到我的MYSQL数据库中。我一直将字符串作为URL发送,然后在php中使用$_GET['string'],然后将它们放入数据库。我必须始终用%20替换字符串中的空格。然后我不得不在上面替换各种不同的字符,这样URL才能正常工作。这是一场失败的战斗,用户希望他们的字符串被保存,但是如果他们包含我没有想到的字符,情况就不会是这样了。我甚至在帖子中尝试将字符串作为NSData发送,但这似乎也无法保存字符串

我怎样才能确保用户的字符串会被保存,不管他们输入了什么疯狂的字符

谢谢,
R

在将数据发送到服务器之前,请使用
NSUTF8StringEncoding
对数据进行编码,并始终使用POST将数据发送到服务器,而不是GET。另外,完全停止使用ASCII是一个好主意,在任何使用字符串的地方都使用ASCII。UTF-8是一种非常方便且紧凑的Unicode编码。

好的,谢谢!我会的,但有时使用post仍然无法保存,比如如果我键入欧元符号。。。当欧元符号保存在数据库中时,它是什么样子的?如果我在数据库中键入一个欧元,它就可以正常工作了。我发现它在进入php之前就被搞砸了。如果NSData字符串中有欧元,则NSData不显示任何内容。我用NSASCIIStringEncoding编码,但也许这不是我应该使用的?