アプリケーションに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
ではなくut8_unicode_ci
を使用する必要があります。 tf8_general_ciとutf8_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);
COLLATEをutf8_general_ciに変換した後、この行を使用しますmysqli_set_charset($ con、 'utf8');クエリの下の$ conとmysqli_query()の間。
$ con = mysqli_connect($ Host、$ user、$ pass、$ db)またはdie( 'Unable to connect');
$ sql = "your query ..";
mysqli_set_charset($ con、 'utf8');
$ result = mysqli_query($ con、$ sql);