在数据库中存储utf8 data`मेराभारतमहान`

时间:2011-11-25 10:07:10

标签: php mysql

我想将UTF8存储在数据库中。我有Unicode印地语的数据,我想在将其转换为HTML字符集后使用php存储在MySQL数据库中。假设某人将子弹(•)字符输入文本框。保存该数据时,是否应将其转换为•

假设我有数据मेरा भारत महान我希望通过将其转换为html字符将其存储在数据库中。我怎样才能做到这一点?我试图使用htmlentities函数,但这对我来说效果不理想。

2 个答案:

答案 0 :(得分:3)

•项称为HTML实体。在PHP中有一个函数可以创建它们:mb_encode_numericentityDocs,它是Multibyte String扩展名(Demo)的一部分:

$string = 'मेरा भारत महान';
$encoding = 'UTF-8';

$convmap = array(0, 0xffff, 0, 0xffff);
$encoded = mb_encode_numericentity($string, $convmap, $encoding);

echo $encoded; मेरा भारत महान

但是:您需要知道字符串的编码。在这种情况下,我选择UTF-8,根据需要修改函数的$encoding参数和$convmap数组。

但是,请勿将其存储到您的数据库中。按原样存储并转换输出编码 后从数据库中检索数据。< / p>

类似问题:Convert (doublebyte) string to Hex

答案 1 :(得分:0)

htmlentities有一个charset参数,请尝试:htmlentities($text, ENT_COMPAT, "UTF-8")