Heim  >  Fragen und Antworten  >  Hauptteil

Wie konvertiere ich „u00e9“ in utf8-Zeichen in MySQL oder PHP?

<p>Ich führe eine Datenbereinigung für einige unordentliche Daten durch, die ich in MySQL importiere. </p> <p>Die Daten enthalten „Pseudo“-Unicode-Zeichen, die tatsächlich in die Zeichenfolge eingebettet sind, wie zum Beispiel „u00e9“ usw. </p> <p>Ein Feld könnte also sein.."Jalostotitlu00e1n" Ich muss dieses umständliche „u00e1n“ abreißen und durch das entsprechende UTF-Zeichen</p> ersetzen. <p>Ich könnte dies in MySQL tun, vielleicht mit Teilzeichenfolgen und CHR, aber ich verarbeite die Daten über PHP vor, sodass ich es auch dort tun kann. </p> <p>Ich weiß bereits, wie man MySQL und PHP für die Verwendung von UTF-Daten konfiguriert. Das Problem liegt tatsächlich in den Quelldaten, die ich importiert habe. </p> <p>Vielen Dank</p>
P粉704196697P粉704196697444 Tage vor674

Antworte allen(2)Ich werde antworten

  • P粉743288436

    P粉7432884362023-08-25 13:53:33

    /* php 将 utf8 html 转换为 ansi 的函数 */

    public static function Utf8_ansi($valor='') {
    
        $utf8_ansi2 = array(
        "\u00c0" =>"À",
        "\u00c1" =>"Á",
        "\u00c2" =>"Â",
        "\u00c3" =>"Ã",
        "\u00c4" =>"Ä",
        "\u00c5" =>"Å",
        "\u00c6" =>"Æ",
        "\u00c7" =>"Ç",
        "\u00c8" =>"È",
        "\u00c9" =>"É",
        "\u00ca" =>"Ê",
        "\u00cb" =>"Ë",
        "\u00cc" =>"Ì",
        "\u00cd" =>"Í",
        "\u00ce" =>"Î",
        "\u00cf" =>"Ï",
        "\u00d1" =>"Ñ",
        "\u00d2" =>"Ò",
        "\u00d3" =>"Ó",
        "\u00d4" =>"Ô",
        "\u00d5" =>"Õ",
        "\u00d6" =>"Ö",
        "\u00d8" =>"Ø",
        "\u00d9" =>"Ù",
        "\u00da" =>"Ú",
        "\u00db" =>"Û",
        "\u00dc" =>"Ü",
        "\u00dd" =>"Ý",
        "\u00df" =>"ß",
        "\u00e0" =>"à",
        "\u00e1" =>"á",
        "\u00e2" =>"â",
        "\u00e3" =>"ã",
        "\u00e4" =>"ä",
        "\u00e5" =>"å",
        "\u00e6" =>"æ",
        "\u00e7" =>"ç",
        "\u00e8" =>"è",
        "\u00e9" =>"é",
        "\u00ea" =>"ê",
        "\u00eb" =>"ë",
        "\u00ec" =>"ì",
        "\u00ed" =>"í",
        "\u00ee" =>"î",
        "\u00ef" =>"ï",
        "\u00f0" =>"ð",
        "\u00f1" =>"ñ",
        "\u00f2" =>"ò",
        "\u00f3" =>"ó",
        "\u00f4" =>"ô",
        "\u00f5" =>"õ",
        "\u00f6" =>"ö",
        "\u00f8" =>"ø",
        "\u00f9" =>"ù",
        "\u00fa" =>"ú",
        "\u00fb" =>"û",
        "\u00fc" =>"ü",
        "\u00fd" =>"ý",
        "\u00ff" =>"ÿ");
    
        return strtr($valor, $utf8_ansi2);      
    
    }

    Antwort
    0
  • P粉198814372

    P粉1988143722023-08-25 00:30:22

    有一个办法。将所有 uXXXX 替换为其 HTML 表示形式,并执行 html_entity_decode()

    echo html_entity_decode("Jalostotitlán");

    u1234 形式的每个 UTF 字符都可以在 HTML 中打印为 。但是进行替换非常困难,因为如果没有其他字符来标识 UTF 序列的开头,则可能会出现很多误报。一个简单的正则表达式可能是

    preg_replace('/u([\da-fA-F]{4})/', '&#x\1;', $str)

    Antwort
    0
  • StornierenAntwort