5

スペイン語の文字を使って単純な挿入を行おうとしていますが、うまくいきません。これは私の単純なMySQLテーブル構造です。

CREATE TABLE student (
  id INTEGER NOT NULL AUTO_INCREMENT,
  name VARCHAR(100) NOT NULL,
  lastname VARCHAR(100) NOT NULL,
  CONSTRAINT PK_STUDENT PRIMARY KEY (id)
) CHARACTER SET utf8 COLLATE utf8_general_ci;

nameおよびフィールドはスペイン人のlastnameもので、名前と名前は次のようになります。

  • ダニエル・ベラスケス

  • ハビエル・アニェス

  • ビクトル・サンチェス

しかし、私が次のことをするとき:

mysql> INSERT INTO student (name, lastname) VALUES ('Víctor', 'Sanchez');

このエラーが発生します:

ERROR 1366 (HY000): Incorrect string value: '\xA1ctor' for column 'name' at row
1

ええと、私はインターネットで検索をするとき、照合、encondingsと関連するすべてについて本当に混乱しています。

それで、これに対処する正しい方法は何ですか?私がPHPを使用していること、およびいくつかの特殊文字を取得する方法が使用されていることを知っているだけですhtmlentities($value);

前もって感謝します。

4

3 に答える 3

2

これを見てください

それはあなたを助けます

WebアプリでUnicodeを前面から背面に処理する

これはエンコーディング文字エンコーディングについてです

于 2012-07-08T18:39:39.197 に答える
1

mysqlを起動するときは、Unicodeを指定します。

mysql --default-character-set=utf8
于 2012-07-08T18:43:11.613 に答える
0

私の場合、Sublime Editorでファイルを保存し、ファイルを保存するメニューで、エンコード付きの保存を選択し、UTF8を選択したところ、私の場合の問題は解決しました。私はあなたと同じエンコーディングと照合を使用しました。ファイルのエンコーディングの問題でした。

于 2020-08-18T01:47:29.737 に答える