我从包含德语变音符的数据库中收到数据的麻烦.基本上,每当收到包含变音符号的数据时,它都是一个带有询问标记的黑色方块.我解决了这一点
MysqL_query ('SET NAMES utf8')
之前查询.
问题是,一旦对查询结果使用json_encode(…),包含一个umlaut的值就会变为null.我可以通过直接在浏览器中调用PHP文件来看到这一点.有没有其他解决方案,而不是在编码JSON之前将其替换为字符,并在JS中进行解码?
您可能只想在浏览器中显示文本,所以一个选择是使用
htmlentities()
将变音符更改为HTML实体.
以下测试对我有用:
<?PHP $test = array( 'bla' => 'äöü' ); $test['bla'] = htmlentities( $test['bla'] ); echo json_encode( $test ); ?>