php - 在mysql中的序列化php中存储多语言数据

标签 php mysql markdown multilingual serialization

我必须向 MySQL 表中插入一些数据。将检索数据,然后(目前)反序列化d,此时将选择正确的显示语言...

我已经设法将数据(使用 markdown 编码的文本)合并为一组 PHP 语句,大致如下:

<?php
$component_data = array();
$component_data[65] =
  array( // reformatted to avoid side-scrolling
      "en"=>"* Student welfare is our top priority.\n* We 
               have 30 years of experience of running successful 
               courses for Young Learners.",
      "es"=>"* El bienestar de nuestros estudiantes es nuestra 
               principal prioridad.\n* Contamos con experiencia de 
               30 años de exitosa realización de cursos para jóvenes.",
      "de"=>"* Das Wohl des Lernenden ist unsere oberste Priorität.\n 
               *Wir organisieren seit 30 Jahren erfolgreich 
               Sprachkurse für Jugendliche",
      "it"=>"* Il benessere degli studenti è la nostra priorità 
               assoluta.\n* Abbiamo 30 anni di esperienza nei corsi 
               per ragazzi.",
      "fr"=>"* Le bien-être de l’élève a pour nous la priorité absolue.
             \n* Nous avons 30 ans d'expérience dans la gestion de cours 
             réussis pour jeunes étudiants");
?>

我希望使用以下方法将其转换为可以导入 MySQL 表的格式:

<?php
    foreach ($component_data as $id => $value) {
      echo "UPDATE `components` SET `component_content`='".
        mysql_real_escape_string(serialize($value)).
        "' WHERE `id` = '$id';\n";
    }
?>

不幸的是它确实进入了,但是页面上的结果被破坏了,即它只显示了序列化的字符串,而不是数组(如果它无法反序列化从 MySQL 获取的字符串,这是默认行为) .

我已经尝试了多种 PHP 字符串清理函数的排列组合,坦率地说,我的头在旋转。

理想情况下,我希望能够重新格式化 PHP 样式的数据以插入到 MySQL 数据库中,以便在获取时它仍处于 unserializable 状态...

...如果您可以将 utf8 外语字符转换为 HTML 实体并将 markdown 转换为 HTML,则可以获得加分

最佳答案

您是否尝试删除“mysql_real_escape_string”以查看反序列化是否有效?

您可以尝试的另一件事是对序列化数组进行 base64 编码。

<?php
    foreach ($component_data as $id => $value) {
      echo "UPDATE `components` SET `component_content`='".
        base64_encode(serialize($value)).
        "' WHERE `id` = '$id';\n";
    }
?>

然后在检索时对其进行 base64_decode 和反序列化。

关于php - 在mysql中的序列化php中存储多语言数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3176582/

相关文章:

php - 根据帖子的用户名在 php mysql 博客上显示图像

php - 事件相对时间

php - 如何创建可编辑的下拉列表?使用 AJAX

PHP 从 MySQL 查询转换日期

php - 查询 PHP 后修改数据库行

java - 重启数据库后尝试重启 debezium mysql 连接器时出错

r - knitr pandoc : "cannot produce pdf output with pdf writer"

markdown - 添加 HTML 时 Jekyll 不呈现 Markdown

wordpress - 使用 Kramdown 的代码块,在 Liquid 中修改

php - 使用php删除mysql中id最高的行