次のような文字のエンコードに問題があります: 私は次の mysql テーブルを使用しています:
CREATE TABLE `news` (
`NewsID` int(11) NOT NULL AUTO_INCREMENT,
`UserID` int(11) NOT NULL,
`Title` varchar(255) CHARACTER SET utf8 NOT NULL,
`Date` datetime NOT NULL,
PRIMARY KEY (`NewsID`),
FULLTEXT KEY `Title` (`Title`,`Content`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin
次のコードを使用して、フィールドに上記の文字シーケンスを挿入しようとしましたTitle
(zend フレームワークで実行):
$params = $this->getRequest()->getParams();
$mysqli = new mysqli("localhost", "user", "pass", "database_name");
$mysqli->query("INSERT INTO `news` (`NewsID`, `Title`) VALUES (NULL, '".$params['text']."');");
データベースでは、フィールドTitle
に次の値を取得します。これらの文字が html エンコードされるのはなぜですか? そして、最初の文字が utf8_bin に相当するものにエンコードされないのはなぜですか? ありがとう。