-1

我现在有个问题。当有人订购包含字符“æ”的东西时,它会变成“ঔ,这会破坏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);

这里有人对此有解决方案吗?

提前致谢。

4

1 回答 1

0

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

于 2012-12-06T18:29:28.040 回答