-1

次のような文字のエンコードに問題があります: 私は次の 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 に相当するものにエンコードされないのはなぜですか? ありがとう。

4

3 に答える 3

0

IDE またはテキスト エディターも UTF-8 文字を使用するように設定されていることを確認してください。

于 2013-08-08T10:23:11.313 に答える