gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 23:40:50 27 4
gpt4 key购买 nike

我必须向 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com