替换特殊字符php

时间:2012-12-06 18:23:47

标签: php string

我现在有问题。当有人订购包含字符“æ”的东西时,它会将其变成“à|”,这会破坏mysql查询,并在那里结束句子。举个例子,我得到了这个:

#55*2*195*1 - 1,%%%%38. Burger dobbelt %%%%Kommentar%%%%Burgeren skal và¦re med friske agurker i stedet for syltede%%%%og uden ost. Pॠforhà¥nd tak %%%%%%%%100. Lasagne %%%%Dressing%%%%Ingen dressing,*;;124.20;;Niklas Smietana;;;;7;;*#

但是当它将它插入数据库时​​,它最终会像这样:

#55*2*195*1 - 1,%%%%38. Burger dobbelt %%%%Kommentar%%%%Burgeren skal v

它就在那里结束。 所以我想要做的是,我想在“字符串”中替换“æ”,“ø”,“å”,“ü”,“ö”等所有特殊字符,因此它变为“ae “,”oe“,”aa“,”u“,”o“。 我试过str_replace但它不会这样做。

我的代码:

$product_name = $row['product_names'];
$product_name = str_replace("ø", "oe", $product_name);
$product_name = str_replace("É", "É", $product_name);
$product_name = str_replace("Ã", "à", $product_name);
$product_name = str_replace("¿", 'oe', $product_name);
$product_name = str_replace("¾", 'ae', $product_name);
$product_name = str_replace("æ", 'ae', $product_name);
$product_name = str_replace("Œ", 'aa', $product_name);
$product_name = str_replace("å", 'ae', $product_name);
$product_name = str_replace("š", 'oe', $product_name);
$product_name = str_replace("Ÿ", 'u', $product_name);

这里有人有解决方案吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您应该使用mysql_real_escape_string()mysqli_real_escape_string()来阻止mysql注入并转义特殊字符。