php参数国际字符和if语句

时间:2013-05-20 17:17:39

标签: php string input char

我认为我缺少一些简单的输入参数和带有重音符号的字符。我有一个可以接受参数example.com/myphpfile.php?ar1=somestring的php文件,我循环遍历arg1中的字符来做东西,当我使用带有重音符号的字符时,它似乎无法正常工作。如果我有arg1=niño我的if语句似乎不起作用,并且设置如下:

$strArr = str_split($_GET['arg1']);
foreach ($strArr as &$char) {
    // do some stuff for each character       
}

如果我使用echo $_GET['arg1'];并使用arg1=niño,我会获得niño。我对每个角色做错了吗?

2 个答案:

答案 0 :(得分:0)

使用天真的PHP字符串处理函数无法正确处理多字节字符。您需要使用可能来自the mb_ family of functions的编码感知函数来处理它们。阅读本文以获取所有细节(很长):What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text

答案 1 :(得分:0)

如果您不需要添加标签参数是ISO-8859-1的HTML标签,请查看您的屏幕,并在创建银行时查看您的银行,因为它是ISO-8859-1。