e.g。我们有要求名字姓氏国家,国家是下拉名单的形式,但是名字是免费入场。我们需要确保输入字段中没有特殊字符。而是将它们转换为英语。 例如
Á -> A,á -> a,Č -> C,č -> c,ď -> d,é -> e,ě -> e,É -> E,Ě -> E,í -> i,Í
-> i,Ň -> N,ň -> n,Ó -> O,ó -> o,Ř -> R,ř -> r,Š -> S,š -> s,ť -> t,Ú -> U,ú -> u,Ů -> U,ů -> u,
Ý -> Y,ý -> y,Ž -> Z,ž -> z
有没有办法在php或mysql中做到这一点?
答案 0 :(得分:1)
使用php函数utf8_encode
或检测编码,如果不是utf-8则更改编码,如下所示:
<?php
//$s is a string from whatever source
mb_detect_encoding($s, "UTF-8") == "UTF-8" ? : $s = utf8_encode($s);
?>
答案 1 :(得分:0)
如果您可以使用PHP&gt; = 5.3,那么normalizer.normalize()
应该可以胜任。顺便说一下,你要做的是删除变音符号。如果您使用的是早期版本的PHP,那么如果您启用intl PHP扩展程序(如此处评论How to remove diacritics from text?),您应该可以使用相同的功能
修改:找到相关问题How do I remove accents from characters in a PHP string?