阿拉伯语语言转换 php 至 mysql
Arabic Language conversion php to mysql
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
mysql_query("update `mudasser`
set `name`='$name',
`ar_name`='$ar_name',
`address`='$address',
`type`='$type',
`telephone`='$telephone',
`date_added`='$date',
`image`='$file'
where `id`='$id'"
当我回应查询时,这就是结果
update `mudasser` set `name`='Boknan', `ar_name`='بوكنان', `address`='E2', `type`='Abaya Galabia', `telephone`='2535338', `date_added`='2015-06-01 08:54:11', `image`='Boknan.jpg' where `id`='128'
您可以看到正确显示的阿拉伯文名称
但在数据库中,阿拉伯文名称有点像这样 ???????
如果我 运行 这个查询直接在 mysql 中,它 运行 是完美的并且它也在 php 页面中读取正确的阿拉伯语。
作为参考,我在 php 中使用 <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
,也在 db.
中使用 utf-8
我已经搜索了网络和 Whosebug,但找不到任何答案。
请检查您的 table 的 CHARSET 和 COLLATE 属性。
对于列检查 "Encoding" 和 "Collation" 属性。
CHARSET/Encoding应该是utf8
Collate/Collation 应该是 utf8_bin
在执行更新查询之前尝试这个。
或者
mysql_query("SET NAMES utf8");
或
mysql_query("SET NAMES utf8mb4");
utf8mb4 是首选。在MySQL 5.3.3中引入,如果可能的话使用它。
read more about difference in UTF8 and UTF8mb4 and how to switch to mb4
- ar_name需要是nvarchar类型
- 将 N 放在阿拉伯字符前 - N'بوكنان'
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
mysql_query("update `mudasser`
set `name`='$name',
`ar_name`='$ar_name',
`address`='$address',
`type`='$type',
`telephone`='$telephone',
`date_added`='$date',
`image`='$file'
where `id`='$id'"
当我回应查询时,这就是结果
update `mudasser` set `name`='Boknan', `ar_name`='بوكنان', `address`='E2', `type`='Abaya Galabia', `telephone`='2535338', `date_added`='2015-06-01 08:54:11', `image`='Boknan.jpg' where `id`='128'
您可以看到正确显示的阿拉伯文名称
但在数据库中,阿拉伯文名称有点像这样 ???????
如果我 运行 这个查询直接在 mysql 中,它 运行 是完美的并且它也在 php 页面中读取正确的阿拉伯语。
作为参考,我在 php 中使用 <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
,也在 db.
我已经搜索了网络和 Whosebug,但找不到任何答案。
请检查您的 table 的 CHARSET 和 COLLATE 属性。
对于列检查 "Encoding" 和 "Collation" 属性。
CHARSET/Encoding应该是utf8 Collate/Collation 应该是 utf8_bin
在执行更新查询之前尝试这个。
或者
mysql_query("SET NAMES utf8");
或
mysql_query("SET NAMES utf8mb4");
utf8mb4 是首选。在MySQL 5.3.3中引入,如果可能的话使用它。
read more about difference in UTF8 and UTF8mb4 and how to switch to mb4
- ar_name需要是nvarchar类型
- 将 N 放在阿拉伯字符前 - N'بوكنان'