データベースに入れようとすると”Incorrect string value”と、クエリが通らない

フォームからデータベースにINSERTかけるだけの簡単なクエリが通らずに、

Incorrect string value:
みたいにエラーが出る。

function content_form_submit($form, &$form_state) {
  $form_values = $form_state['values'];
  $form_keys = array_keys($form_values);

  db_query("INSERT INTO {content} (cid, name ) VALUES (%d, '%s')", $cid, $form_values["code"]);
  drupal_goto('content/teacher-registration-completed');
}

他の部分で似たようなコードは問題ないのにだ。

データベースのテーブルのエンコーディングが異なっている可能性を疑おう。

show create database データベース名;

で、utf8ではなく、latin1になっていないだろうか?

SET @saved_cs_client     = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `content` (
  `cid` int(11) NOT NULL auto_increment,
  `name` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`cid`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
SET character_set_client = @saved_cs_client;

のように、DEFAULT CHARSET=utf8 にセットすると他のテーブルと文字コードが一致してエラーは消える。