使用mysqli在数据库中插入印地语数据

时间:2015-12-12 07:12:01

标签: php mysql mysqli

我有这样的表结构。

enter image description here

我想在examples列中插入值,可以是印地语或英语。要插入值,我添加了一个过程如下:

 PROCEDURE `insertCategories`(parentCatID INT(11), categoryName VARCHAR(100), categoryType VARCHAR(100), examples VARCHAR(200))
 BEGIN
  DECLARE parentID INT(11) DEFAULT parentCatID; 
  DECLARE categoryTitle VARCHAR(100) DEFAULT categoryName;
  DECLARE catType VARCHAR(100) DEFAULT categoryType;
  DECLARE catExamples VARCHAR(200) DEFAULT examples;
  IF categoryTitle !='' AND catType!=''  THEN
    INSERT INTO categories(cat_title, parent_catID, `types`, examples) VALUE(categoryTitle, parentID, catType, catExamples);
  END IF;
END$$

我正在尝试使用$executingProcedure = $mysqli->query("CALL insertCategories(0, 'Exporter', 'BC', 'निर्यातक')");

调用此过程

但是它存储了像

这样的价值
 निर्यातक

我知道这是charset问题,我试图用这个link给出的解决方案来修复,但它没有用。我坚持这个问题,任何帮助将不胜感激。

修改

我已在mysql中尝试了它并且它正在运行,但我需要使用mysqli执行此操作。

修改

似乎问题出现在html部分。添加了以下标记,一切正常。

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

2 个答案:

答案 0 :(得分:1)

对表结构中的utf8_general_ci列使用example归类。 并在PHP脚本中使用以下PHP语句。

 header('Content-type: text/html; charset=UTF-8');

答案 1 :(得分:0)

您需要将set charset添加到utf-8。

简而言之,您需要在保存和展示位置的两个页面中的<head>中的任意位置添加以下行。它保存无关紧要,您保存mysqlimysql

 <meta charset="UTF-8">

它会起作用。