MySQL或Str在PHP中替换æå

时间:2018-08-01 19:24:39

标签: php mysql

将MySQL数据库从一台服务器移到另一台我的挪威字符后,这些挪威字符转换成一些奇怪的迹象。

我想创建一个PHP代码来修复字符集,当我给它一个输入字符串时,它就可以工作。但是,当我将查询结果作为输入字符串时,它不起作用。

此代码有效:

<?php

function fix_charset($value){

    $value = str_replace("æ", "&aelig;",  "$value"); // æ
    $value = str_replace('ø', "&oslash;", "$value"); // ø
    $value = str_replace("Ã¥", "&aring;",  "$value"); // å

    // Return
        return $value;
}


$input = "Still inn ønsket vekt i maskinen.
Fest på et tau.
Still deg med ryggen til maskinen og ta tak i tauet.


Gå ned slik at du sitter på knær. Trekk ned vekten samtidig som du går ned i utgangs-stillingen.";

$output = fix_charset($input);

echo"$input - $output";

?>

此代码无效:

$query = "SELECT exercise_id, exercise_preparation FROM exercise_index WHERE exercise_id=67";
$result = mysqli_query($link, $query);
$row = mysqli_fetch_row($result);
list($get_current_exercise_id, $get_current_exercise_preparation) = $row;

    function fix_charset($value){

        $value = str_replace("æ", "&aelig;",  "$value"); // æ
        $value = str_replace('ø', "&oslash;", "$value"); // ø
        $value = str_replace("Ã¥", "&aring;",  "$value"); // å
        return $value;
    }


    // Fix charset
    $inp_exercise_preparation = fix_charset($get_current_exercise_preparation);

    $inp_exercise_guide = fix_charset($get_current_exercise_guide);

    $result = mysqli_query($link, "UPDATE exercise_index SET exercise_preparation='$inp_exercise_preparation' WHERE exercise_id=67") or die(mysqli_error($link));



    echo"
    UPDATE exercise_index SET exercise_preparation=$inp_exercise_preparation WHERE exercise_id=67
    ";
    ?>

我也尝试了 utf8_decode($ value); ,但没有成功。

我在PHP My Admin中看到排序规则是utf8_general_ci。 enter image description here

0 个答案:

没有答案