Laravel Umlaute ORM - 保存问题
Laravel Umlaute ORM - Problems with saving
我从网络服务收到一些 "Umlaute" - 比如 "ä,ü,ö),我在这里遇到 utf-8 问题。当我将它们存储到我的数据库中时,它显示如下:
..rsität
好的,所以检查了 utf-8 编码,但是当我尝试在保存之前回显值时,它显示正确,所有 Umlaute in utf-8。
我的数据库也是 utf-8(来自不同服务的另一个表存储 utf-8 没有任何问题)。这里唯一不同的是,我将它存储在一个事务中。
echo $laststop; // Fine with all the Umlaute
$Route = new BusRoute();
$Route->last_stop = $laststop; // if i set this to something like that: "Tüüt" as String, its correct in DB too
$Route->save();
// 数据库错误
// database.php
'dev_db' => [
'driver' => 'sqlsrv',
'charset' => 'utf8',
'prefix' => '',
],
// model.php
class BusRoute extends Model
{
protected $connection = 'db_dev';
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'bus_routes';
}
编辑:检查了我的模型 "BusRoute.php" - 使用 UTF-8 编码保存。
这很奇怪 - 因为我阅读了多个网络服务 - 并且只在这里遇到了这个问题。有任何想法吗?
Web 服务为您提供的数据中包含某些字符,这些字符编码为相应的 html 实体。在将数据存储到数据库之前,使用 html_entity_decode() 将它们转换回单个字符。
$decoded_string = html_entity_decode('..rsität');
这会将 ä
转换回 ä
。
我从网络服务收到一些 "Umlaute" - 比如 "ä,ü,ö),我在这里遇到 utf-8 问题。当我将它们存储到我的数据库中时,它显示如下:
..rsität
好的,所以检查了 utf-8 编码,但是当我尝试在保存之前回显值时,它显示正确,所有 Umlaute in utf-8。
我的数据库也是 utf-8(来自不同服务的另一个表存储 utf-8 没有任何问题)。这里唯一不同的是,我将它存储在一个事务中。
echo $laststop; // Fine with all the Umlaute
$Route = new BusRoute();
$Route->last_stop = $laststop; // if i set this to something like that: "Tüüt" as String, its correct in DB too
$Route->save();
// 数据库错误
// database.php
'dev_db' => [
'driver' => 'sqlsrv',
'charset' => 'utf8',
'prefix' => '',
],
// model.php
class BusRoute extends Model
{
protected $connection = 'db_dev';
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'bus_routes';
}
编辑:检查了我的模型 "BusRoute.php" - 使用 UTF-8 编码保存。
这很奇怪 - 因为我阅读了多个网络服务 - 并且只在这里遇到了这个问题。有任何想法吗?
Web 服务为您提供的数据中包含某些字符,这些字符编码为相应的 html 实体。在将数据存储到数据库之前,使用 html_entity_decode() 将它们转换回单个字符。
$decoded_string = html_entity_decode('..rsität');
这会将 ä
转换回 ä
。