2015-11-24 3 views
4

У меня есть проект в Phalcon PHP и MySql.Проблемы с символами UTF8 в MySQL и Phalcon PHP

, когда символы UTF8 должны содержать эти ошибки.

Например: сохраняет: Нуэва Descripción NNN в базе данных: Нуэва descipción à ± à ± à ±

Я попробовал несколько видов сортировки, как в базе данных, таблицах и пол.

Благодарим за помощь.

+2

Возможный дубликат [UTF-8 на всем пути через] (http://stackoverflow.com/questions/279170/utf-8-all-the-way-through) – Naruto

+0

Не согласен с дублирующимся флагом, поскольку ни одна из указанных тем не отвечает ион для этой проблемы. – yergo

+0

@ Andrés Luque проверили ли вы свою конфигурацию mysql? –

ответ

4

Имея правильно определенные элементы базы данных, вы также должны установить свое соединение для использования кодирования UTF-8. На Phalcon использует PDO, вы можете попытаться изменить ваше соединение так, чтобы:

$di["db"] = function() { 
    return new \Phalcon\Db\Adapter\Pdo\Mysql(array(
     "host" => "localhost", 
     "username" => "root", 
     "password" => "1234", 
     "dbname" => "test", 
     "options" => array(// this is your important part 
      PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8' 
     ) 
    )); 
}; 

Пример из Phalcon Forum.

Поскольку я работаю с польским языком, мои сопоставления с базами данных в основном установлены на utf8_polish_ci или иногда на utf8_universal_ci. Вы должны проверить это из-за проблем с сортировкой результатов.

0

проверьте свою базу данных проекта, если она utf8-unicode-ci сортировка. Также проверьте все ваши индивидуальные таблицы имеет параметры сортировки UTF-8-юникод-ая

Если это не нормально, проверьте ваш Apache MySQL CONFIG my.ini файл

В этой проверки UTF 8 установкиустановлен нет хэш (#) комментарий как этот

## UTF 8 Settings 
init-connect=\'SET NAMES utf8\'  //remove # 
collation_server=utf8_unicode_ci   
character_set_server=utf8