Я пытаюсь подсчитать случаи всех букв в турецком алфавите в базе данных MySQL.Проблема турецкого символа в PHP и MySQL
Когда я пытаюсь считать букву «а», как это, я получаю правильный результат:
while($nt=mysql_fetch_array($rt))
{
$mystring = $nt["word"];
for($i = 0; $i < strlen($mystring) ; $i++)
{
if($mystring[$i] == 'a')
{
$a++;
}
}
}
Когда я заменить «а», с «С» я получаю ноль. Я уже добавил этот код:
$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("database unavailable");
mysql_set_charset('utf8', $bd);
Как я могу исправить мой код для турецких символов? Благодарю.
Возможный дубликат [UTF-8 на всем пути] (http://stackoverflow.com/questions/279170/utf-8-all-the-way-through) – vaso123
Что ['collation'] (https: //dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html) вы используете в БД? – mudasobwa
'strlen()' работает байт-мудрый, а не характерный. '' '' в UTF-8 требуется более 1 байт. Вместо этого используйте 'mb_strlen()'. Точно так же вы не можете использовать '[]' за байт в строке. – AmigoJack