2015-08-17 5 views
0
  1. В моей базе данных mariaDB есть latin5_turkish_ci сортировка.
  2. Моя страница мета имеет charset=iso-8859-9
  3. с использованием Laravel 4,2
  4. Значения выглядят должным образом на странице, когда я получить их из базы данных.
  5. Проблема: Значения не кажутся правильными символами в базе данных, когда я отправляю их из формы. Они выглядят как ¼¼¼¼¼¼.

приложение/Config/database.php:Laravel latin5_turkish_ci Вопрос о сортировке

'charset' => 'latin5', 
'collation' => 'latin5_turkish_ci', 

head.blade.php

<meta name="robots" content="all" /> 
<meta name="robots" content="index,follow" /> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254" /> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" /> 
<meta http-equiv="Content-Type" content="text/html; charset=x-mac-turkish" /> 

Как я могу представить значения в базу данных в нужные символы?

+1

Используйте только одну комбинацию символов на вашей странице. Кроме того, почему бы вам не использовать UTF-8? – Hkan

+0

Я сталкиваюсь с некоторыми проблемами с этим, имею db из предыдущих проектов. –

ответ

0

Хорошо вот решение:

приложение/Config/database.php:

'charset' => 'utf8', 
'collation' => 'utf8_turkish_ci', 

head.blade.php

<META http-equiv=content-type content=text/html;charset=iso-8859-9> 
<META http-equiv=content-type content=text/html;charset=windows-1254> 
<META http-equiv=content-type content=text/html;charset=x-mac-turkish> 

И тогда вы собираетесь чтобы столкнуться с проблемами сортировки при наличии красноречивых запросов, таких как:

$query = MyModal::where(function($query){ 
    $query->where('id', '=', Session::get('id'))->where('abc', '=', iconv("cp1254","UTF-8","Türkişh Characters Included")); 
})->orWhere(function($query){ 
    $query->where('pidm', '=', Session::get('id'))->where('xyz', '=', iconv("cp1254","UTF-8","Türqüise Chars Again")); 
})->orWhere(function($query){ 
    $query->where('pidm', '=', Session::get('id'))->where('qwe', '=', iconv("cp1254","UTF-8","ğğşşüüöö")); 
})->get(); 

Решение:
Так я использовал Iconv функцию, чтобы создать решение.

Дополнительная информация:
Нормальные запросы, как
$query = MyModal::where('id', '=', Session::get('id'))->get()
не влияет, но если есть функция в вашем красноречивым запросе, вы получите сообщение об ошибке, и вы должны использовать Iconv().

Спасибо.

Смежные вопросы