0

nullデータベース内のレコードに特殊文字が含まれている場合に戻ってきました。

例を簡単にするために、データベースは次のようになります。

ID        Integer        PRIMARY KEY, AUTO_INCREMENT
Name      varchar(20)    NOT NULL, utf8_general_ci

ID        Name
1         Blop
2         Blaap
3         Bluup

現在、SO は、たとえばウムラウト付きの 'u' の使用をサポートしていないようです。そのため、この例では、'Bluup' にウムラウト付きの 2 つの u があると想像してください

クエリを実行すると、関数GET * FROM namesで受け取る結果:$.get

[object]
    1 [object]
        id   : 1
        name : Blop
    2 [object]
        id   : 2
        name : Blaap
    3 [object]
        id   : 3
        name : null

を使用してデータをダンプするvar_dumpと、結果も既にnull.

したがって、PHP が奇妙な文字を取得することを好まないか、MySQL がそれらを PHP に返すことさえしません。過去数時間、これに対する答えを探していましたが、見つかりません。

データは私のものではないため、手動で、またはクエリを使用して、すべてのレコードを特殊文字で変更することはできません。

これを回避する方法はありますか?

4

1 に答える 1

1

mysql接続で設定してみてください:

SET NAMES utf8;

エンコーディングがどのように機能するかをよりよく理解するには、この記事を強くお勧めします

于 2013-10-11T10:27:02.283 に答える