文字セットに問題がある場合のルール:
-
データベースを作成するときは、utf8エンコーディングを使用してください:
CREATE DATABASE _test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
-
すべてのテキストフィールド(varcharとtext)がUTF-8を使用していることを確認してください:
CREATE TABLE _test.test ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE = MyISAM;
-
接続を確立するときは、データベースをクエリ/更新する前にこれを行ってください:
SET NAMES utf8;
-
phpMyAdminを使用する場合-ログイン時にUTF-8を選択します。
-
Webページのエンコーディングをutf-8に設定して、すべての投稿/取得データがUTF-8になるようにします(または、変換が面倒なので、そうする必要があります)。 PHPコード(phpファイルの最初の行または少なくとも出力の前):
header('Content-Type: text/html; charset=UTF-8');
-
すべてのクエリがUTF8エンコーディングで記述されていることを確認してください。 PHPを使用している場合:
6.1。 PHPがUTF-8のコードをサポートしている場合は、ファイルをUTF-8で記述してください。
6.2。 phpがUTF-8サポートなしでコンパイルされている場合-次のように文字列をUTF-8に変換します:
$str = mb_convert_encoding($str, 'UTF-8', '<put your file encoding here');
$query = 'SELECT * FROM test WHERE name = "' . $str . '"';
それでうまくいくはずです。