当我使用PHP代码时,我可以成功地将阿拉伯语数据存储在MySQL数据库中,但是以错误的格式返回数据。请注意以下事项:
发布于 2015-03-27 18:57:45
编码应在三个点改变:
在这里,我们将检查选项1
首先检查您的文本编码
$text = "أهلا وسهلا!";
var_dump(mb_detect_encoding($text));将文本放入$text变量并在浏览器中运行此脚本(只用于编码检查),mb_detect_encoding函数应该会让您知道文本编码。
在此之后,您将知道编码,您将可以使用偶像函数和转换它。然后,使用iconv函数将其转换为UTF8,例如:
if(mb_detect_encoding($text)!== "UTF-8")
$decoded_text = iconv(mb_detect_encoding($text), 'UTF-8', $text);发布于 2015-03-27 19:58:07
您应该使所有编码格式相同。
遵循以下步骤:
1-您的db表应该有utf8_general_ci编码
2-您的sql查询应该使用相同的查询,方法是将下面的mysqli连接放在conifg文件中
$db->query("SET NAMES 'utf8'");3-您的页面应该具有相同的元字符编码。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">按照前面的三个步骤,一切都会顺利的。
发布于 2015-03-27 19:02:40
要正确地接受、存储和显示多字节字符集,您必须确保三件事:数据库列使用正确的数据类型,脚本使用多字节安全函数编写,输出被正确格式化。
在MySQL中,您需要将阿拉伯文本存储在utf8mb4类型的列中。
如果在脚本中使用任何文本编辑或格式设置,那么脚本既需要用多字节感知编辑器编写,也需要使用多字节安全函数。
最后,您的see服务器需要发送utf-8,浏览器需要知道显示utf-8 -请参阅如何最好地配置PHP以处理UTF-8网站。
https://stackoverflow.com/questions/29307906
复制相似问题