Cakephp显示表和python编码('unicode-escape')相关问题中的符号

时间:2018-08-09 20:45:16

标签: php python cakephp utf-8 python-unicode

在我的桌子上,我有这样一行:

  

很棒...

当我尝试在视图中显示它时,它显示以下内容:

  

很棒... ???

在html页面的顶部,我有一个标记

  

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

在core.php中,我有:

  

Configure :: write('App.encoding','UTF-8');

在我的database.php中,我有:

public $default = array(
    'datasource' => 'Database/Mysql',
    'persistent' => false,
    'host' => 'localhost',
    'login' => 'root',
    'password' => 'xxx',
    'database' => 'xxx',
    'prefix' => '',
    'encoding' => 'utf8',
);

我正在用php转换当前的python脚本,我可以看到以下代码:

  

“注释文字”:row [2] .encode('unicode-escape'),

我试图在php中找到与encode('unicode-escape')等效的东西,但未找到任何内容。

我是否需要在PHP显示中使用类似的功能,或者不需要使用等效的功能,而我的编码设置有问题?

1 个答案:

答案 0 :(得分:0)

我以前也有同样的问题。问题是utf8编码每个字符仅支持三个字节。您可以阅读详细信息here

MySQL的utf8不是UTF-8。因此,您无法保存一些字符和表情符号,有时它可能会切断您的文本。

我所做的是将utf8mb4应用于所有表和架构。

例如

`ALTER TABLE your_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;`

`ALTER SCHEMA `your_schema`  DEFAULT CHARACTER SET utf8mb4  DEFAULT COLLATE utf8mb4_unicode_ci;`

之后,也很高兴保存表情符号:)。