私はアプリケーションに使用PHP
しMySQL
ています。
質問は次のとおりです。
MySQL
नवीन खेतिहर उपकरण।
読み取り可能な形式またはनिलेस र पà¥à¤¬
形式でデータを保存する方法ユーザーがテキストボックスにデータを入力して[送信]をクリックすると、その時点で異なる形式のデータが取得されます。
MySQL
変換して読み取り可能な形式で保存する必要がある場合は、何をする必要がありますか。
utf8 文字セットとutf8_general_ci
照合を選択します。
明らかに、フィールドの照合 (ヒンディー語テキストを保存する先) はutf8_general_ci
.
テーブルフィールドを変更するには、実行します
ALTER TABLE `<table_name>` CHANGE `<field_name>` `<field_name>` VARCHAR(100)
CHARSET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL;
データベースに接続したら、最初に次のステートメントを実行します
mysql_set_charset('utf8');
例えば:
//setting character set
mysql_set_charset('utf8');
//insert Hindi text
mysql_query("INSERT INTO ....");
データを取得するには
//setting character set
mysql_set_charset('utf8');
//select Hindi text
mysql_query("SELECT * FROM ....");
ブラウザで Unicode テキスト (ヒンディー語テキストなど) を印刷する前に、メタ タグを追加してそのページのコンテンツ タイプを設定する必要があります。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
例えば:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Example Unicode</title>
</head>
<body>
<?php echo $hindiText; ?>
</body>
</html>
更新:
mysql_query("SET CHARACTER SET utf8") has changed to
mysql_set_charset('utf8'); これは、文字セットを変更するための推奨される方法です。mysql_query() を使用して設定する (SET NAMES utf8 など) ことはお勧めしません。http://php.net/manual/en/function.mysql-set-charset.phpを参照してください*
ALTER TABLE <tablename> CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
注:より高速であると言われているため、 utf8_general_ci
代わりに を使用する必要があります。utf8_general_ci と utf8_unicode_ci の違いは何ですか?ut8_unicode_ci
文字セットでテーブルを変更する必要はありません。ただし、データベースには utf8_unicode_ci を使用する必要があります。
データベースとの接続中に、この行のみを追加する必要があります." mysqli_set_charset($con, 'utf8')"
$con = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
mysqli_set_charset($con, 'utf8');
mysqli_query($con, $sql);