我有这样的表结构。
我想在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">
答案 0 :(得分:1)
对表结构中的utf8_general_ci
列使用example
归类。
并在PHP脚本中使用以下PHP语句。
header('Content-type: text/html; charset=UTF-8');
答案 1 :(得分:0)
您需要将set charset添加到utf-8。
简而言之,您需要在保存和展示位置的两个页面中的<head>
中的任意位置添加以下行。它保存无关紧要,您保存mysqli
或mysql
。
<meta charset="UTF-8">
它会起作用。