编码变音符号的怪异问题

没有人

请,这不是重复的,我的问题不是关于转换字母。

我从数据库中读取了一些值,其中一些包含一些奇怪的重音,例如“Piña_Colada”,“Rhum_Arrangé”。我对数据库没有任何控制,我想删除重音符号并用普通字母替换->“ Pina_Colada”“ Rhum_Arrange”

这是我在stackoverflow上找到的方法

function remove_acc($str){
$caracteres = array(
'À' => 'a', 'Á' => 'a', 'Â' => 'a', 'Ä' => 'a', 'à' => 'a', 'á' => 'a', 'â' => 'a', 'ä' => 'a', '@' => 'a',
'È' => 'e', 'É' => 'e', 'Ê' => 'e', 'Ë' => 'e', 'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e', '€' => 'e',
'Ì' => 'i', 'Í' => 'i', 'Î' => 'i', 'Ï' => 'i', 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i',
'Ò' => 'o', 'Ó' => 'o', 'Ô' => 'o', 'Ö' => 'o', 'ò' => 'o', 'ó' => 'o', 'ô' => 'o', 'ö' => 'o',
'Ù' => 'u', 'Ú' => 'u', 'Û' => 'u', 'Ü' => 'u', 'ù' => 'u', 'ú' => 'u', 'û' => 'u', 'ü' => 'u', 'µ' => 'u',
'Œ' => 'oe', 'œ' => 'oe',
'ñ' => 'n',
'$' => 's');
$str = str_replace(" ", "_",$str);
$str = strtr($str,$caracteres);
echo $str // Piña_Colada
return $str;
}

...

while($row=mysql_fetch_object($requete))
        {

                $titre_recette = $row->titre; //with $row->titre = "Piña Colada"
                $titre_recette_photo = remove_acc($titre_recette);

                echo $titre_recette_photo;
        }

由于某些原因,它显示“Piña_Colada” ...任何解决方案...?

在这里,我们可以看到它与声明的$ string一起使用:http : //codepad.viper-7.com/psDpwb

它来自数据库,因此可能以其他方式编码吗?在notepad ++中,即时消息在没有BOM的utf-8中工作

这是我的表声明:

$sql = "CREATE TABLE IF NOT EXISTS Recettes (
    id_recette int(11) DEFAULT NULL,
    titre varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL";
gfcodix

您可以尝试将字符串解码或编码为UTF-8吗?

我已将此行添加到您的函数中:$ str = utf8_encode($ str); //或utf8_decode($ str);

function remove_acc($str){
$caracteres = array(
'À' => 'a', 'Á' => 'a', 'Â' => 'a', 'Ä' => 'a', 'à' => 'a', 'á' => 'a', 'â' => 'a', 'ä' => 'a', '@' => 'a',
'È' => 'e', 'É' => 'e', 'Ê' => 'e', 'Ë' => 'e', 'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e', '€' => 'e',
'Ì' => 'i', 'Í' => 'i', 'Î' => 'i', 'Ï' => 'i', 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i',
'Ò' => 'o', 'Ó' => 'o', 'Ô' => 'o', 'Ö' => 'o', 'ò' => 'o', 'ó' => 'o', 'ô' => 'o', 'ö' => 'o',
'Ù' => 'u', 'Ú' => 'u', 'Û' => 'u', 'Ü' => 'u', 'ù' => 'u', 'ú' => 'u', 'û' => 'u', 'ü' => 'u', 'µ' => 'u',
'Œ' => 'oe', 'œ' => 'oe',
'ñ' => 'n',
'$' => 's');
$str = str_replace(" ", "_",$str);
$str = utf8_encode($str); // or maybe utf8_decode($str);
$str = strtr($str,$caracteres);
echo $str // Piña_Colada
return $str;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

编码变音符号的怪异问题

来自分类Dev

字符串编码变音符号

来自分类Dev

API 请求中的变音符号编码

来自分类Dev

解码URL中的变音符号(或复合与组合编码)

来自分类Dev

在哪里更改编码以打印变音符号?

来自分类Dev

使用readOGR时对德语变音符号的编码

来自分类Dev

解码URL中的变音符号(或复合与组合编码)

来自分类Dev

带有变音符号的 Jsoup 编码 URL

来自分类Dev

strtr行为怪异-从字符串中删除变音符号

来自分类Dev

RedirectToAction()打破变音符号

来自分类Dev

不能写变音符号

来自分类Dev

Java删除变音符号

来自分类Dev

带有德语变音符号的Android Studio编码,例如。Ä,Ü和Ö

来自分类Dev

在Unity中显示TextMeshPro中编码字符串的变音符号

来自分类Dev

带有德语变音符号的Android Studio编码,例如。Ä,Ü和Ö

来自分类Dev

Python:删除希腊变音符号/重音符号

来自分类Dev

在preambel中使用knitr的注释中的变音符号会导致texi2dvi问题

来自分类Dev

变音符号出现问题(无法在终端中输入+无法打开文件)

来自分类Dev

Qt SQL Server和变音符号

来自分类Dev

无法显示德语变音符号

来自分类Dev

无法验证包含变音符号的文本

来自分类Dev

使用Go删除变音符号

来自分类Dev

变音符号上的Levenshtein距离

来自分类Dev

在列表/集中存储变音符号

来自分类Dev

AngularJs搜索并忽略变音符号

来自分类Dev

从iOS到PHP的变音符号

来自分类Dev

Elasticsearch将变音符号显示为“ ??”

来自分类Dev

Webfont没有变音符号

来自分类Dev

无法验证包含变音符号的文本