我遇到了来自包含德国变音符的数据库中的数据的麻烦。基本上,每当我收到包含变音符号的数据时,它都是带有问号的黑色正方形。我解决了这个问题
mysql_query ('SET NAMES utf8')
查询之前。
问题是,一旦我在查询结果上使用
json_encode(...)
,包含变音符号的值就会获得null
。我可以通过直接在浏览器中调用php文件来看到这一点。除了在编码为JSON并将其解码为JS之前替换此字符之外,还有其他解决方案吗? 最佳答案
您可能只想以某种方式在浏览器中显示文本,所以一种选择是使用 htmlentities()
将变音符号更改为HTML实体。
以下测试对我有用:
<?php
$test = array( 'bla' => 'äöü' );
$test['bla'] = htmlentities( $test['bla'] );
echo json_encode( $test );
?>