数组创建德语问题

时间:2016-05-03 08:04:39

标签: php mysql arrays character-encoding

我有德语数据库。我从数据库中获取数据并创建数组。问题是一些德国人字符被转换为特殊字符。这就是为什么不能在json中编码数组。我也试过把标题放在德语中,但它是出于显示目的,所以它不起作用。

请检查下面创建的数组

enter image description here

如果我手动复制并粘贴相同的字符串并创建数组而不是创建完美的数组。你能解决问题吗?

enter image description here

使用后

htmlentities($ str,ENT_QUOTES,'UTF-8',false);

enter image description here

你可以看到显示两个字符串都是从数据库中获取的,一个是使用htmlentities编码的。你可以看到数组的最后一个索引是空的,所以htmlentities无法对它进行编码。

2 个答案:

答案 0 :(得分:0)

你需要逃避你的字符串。试试这个:

// $str, encode quotes, UTF-8 encoding, false (do not double encode).
echo htmlentities($str, ENT_QUOTES, 'UTF-8', false);

用你的字符串替换$ str。这应该可以解决您的问题。

答案 1 :(得分:0)

黑钻石中的问号通常由

引起
  • 客户端中文本的latin1编码,
  • 连接时
  • SET NAMES latin1或以其他方式挑选(或默认为)latin1,
  • (表格/列的CHARACTER SET是什么并不重要。)和
  • 在html中说<meta charset=UTF-8>

一个简单的解决方法是将最后一步更改为<meta charset=ISO-8859-1>,从而仅使用latin1,而不是utf8。那&#34;好的&#34;对于西欧来说,但不会为亚洲工作。

&#34;对&#34;修复就是使用utf8mb4来完成步骤。

相关问题