【问题标题】:Replace special character php替换特殊字符php
【发布时间】:2012-12-06 18:23:46
【问题描述】:

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

这里有人有解决方案吗?

提前致谢。

【问题讨论】:

标签: php string


【解决方案1】:

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

【讨论】:

  • 你能举个例子吗,因为当我尝试: $product_name = utf8_encode($product_name);它只是将该行编辑为:#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。千层面 %%%%调味品%%%%Ingen调味品,*;;124.20;;Niklas Smietana;;;;7;;*#
  • @IsmailIsmaili 我编辑了我的帖子并删除了我写的 utf8_encode 答案。
猜你喜欢
  • 1970-01-01
  • 2011-04-23
  • 2013-01-24
  • 2012-04-06
  • 2011-12-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多