从字符串中获取第一个UTF-8字符并保存在DB中

时间:2009-12-28 13:21:56

标签: php zend-framework utf-8 zend-db

我在插入不是A-Z字符的字母时遇到问题 例如:

$fullTag = 'świat';

'letter'应包含ś

$data = array(
    'full_tag'  => $fullTag,
    'count'     => 1,
    'letter'    => $fullTag[0],
);

但是当我执行$table->insert($data);时,它会将letter作为空字符串插入。

如果我设置的不是$fullTag[0]静态字母ś - 它可以正常工作。

letter列为utf8_polish_ci char(1)

有什么想法吗?

1 个答案:

答案 0 :(得分:6)

而不是$ fullTag [0],你可能想要使用多字节子字符串函数:http://www.php.net/manual/en/function.mb-substr.php ..这些mb_ *函数知道多字节编码,$ fullTag [0]可能只给你一个字节。