【发布时间】:2015-12-24 21:41:42
【问题描述】:
我在附加从 UTF-8 驱动的 InnoDB MySQL 数据库返回的 html 时遇到了问题——实际上是对象,它用数据完成并返回以由 jQuery 异步显示。网站和数据库仅使用 UTF-8。
所以当我发布一些东西时,它会进入数据库,插入,对象被我插入的数据和适当的 html 返回给 jQuery,不幸的是由于某些原因,而不是国家字母,显示如下内容:@ 987654321@等
当我刷新网站时,它恢复正常,并且字符正常显示。
想法?
在进入 DB 类之前:
$strNoBreakSpace = mb_convert_encoding(' ', 'UTF-8', 'HTML-ENTITIES');
$strNormalSpace = mb_convert_encoding(' ', 'UTF-8', 'HTML-ENTITIES');
$ntc = str_replace($strNoBreakSpace, $strNormalSpace, $content);
从DB课回来后:
$thread= str_replace(array(chr(10), chr(13)), '', $thread);
$thread_html = json_encode(array('status' => 1, 'success' => $thread_html));
array_push($results, $upd, $ins, $thread_html);
在展示给 jQuery 之前:
$list = array('success' => stripslashes($result[2]));
是stripslashes破坏它吗?我需要添加这个和这些 mb_converts,否则我在那个 html 中的 json 对象有问题,有很多 slases /td、/tr\、\r\r 等。
jQuery 看到的是:
{"status":1,"success":"<tr> <td class="col-md-1">27.09.15</td>ttt <td class="col-md-1 ws-nowrap"><a href="#"><span class="label label-info label-as-badge">Test</span></a></td> <td class="col-md-5"><a href id="id" name="id" href="#">u0142u00f3</a></td> <td class="col-md-5">u0142u00f3</td> </tr>"}
【问题讨论】:
-
您以某种方式剥离斜线,数据应该是:
\u0142\u00f3即:łó¿我们可以看到一些代码吗? -
嗨,Marcos,在上面的帖子中添加了一些代码。感谢支持!
-
你能把$result[2]的内容加进去,让我给你一个正确的答案。
-
已加入主题:)
-
不完全确定 td 之后的“ttt”是什么,它不在我的代码中......,应该只有第一个 td 带有日期,第二个带有类别(作为徽章),第三个带有内容。
标签: javascript jquery mysql utf-8