Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
替换特殊字符php_Php_String - Fatal编程技术网

替换特殊字符php

替换特殊字符php,php,string,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

我现在有个问题。当有人在订购包含字符“æ”的东西时,它会将其变成“α”,这会破坏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”。 我试过用Stru_替换,但不行

我的代码:

$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);
这里有人能解决这个问题吗


提前感谢。

您应该使用或来防止mysql注入并转义特殊字符。

您的文件字符集和db中的排序规则是什么?请看,您能否给出一个示例,因为当我尝试:$product\U name=utf8\U encode($product\U name);它只是将行编辑为:#55*2*195*1-1、%%38。汉堡包带%%%%Kommentar%%%%%Burgeren skal vÃre med friske agurker i stedet for syltede%%%og uden ost。P¥forh¥nd tak¥100。千层面%%%%调味汁%%%%Ingen调味汁,*;;124.20;;尼古拉斯·斯米塔纳;;;;7;;*#@我编辑了我的帖子,删除了我写的utf8_编码答案。