插入阿拉伯语文本 MySQL
Insert an Arabic text MySQL
我正在尝试将阿拉伯语文本存储到 table,我搜索了很多但没有找到适合我的解决方案,所以这就是我得到的:
$en = "OK";
$ar = "حسناً";
$link->query("INSERT INTO words (en,ar) VALUES ($en,$ar)");
问题是当我插入它时,阿拉伯文本看起来像 ØØ³Ù†Ø§Ù‹
,我的 table 的排序规则和 MySQL 的排序规则是 utf8_general_ci
,所以也是我的数据库,我也有 mysql_query("SET NAMES 'utf8'"); mysql_query('SET CHARACTER SET utf8');
,但它不起作用。
首先是数据库,table 和列。查看是否设置了 utf8
:
utf8_general_ci
或 utf8_unicode_ci
此外,连接排序规则:utf8_general_ci
在PHP中,在我连接mysqli之后,我发出这个:
$conn->query("SET NAMES 'utf8'");
而且网页输出总是卡在:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
我最近也遇到了同样的问题。
这里有一些提示:
- 所有属性都必须设置为 ut8(排序规则与字符集不同)
- 将文档另存为 UTF-8(如果您使用的是 Notepad++,则格式 -> 转换为 UFT-8)
- PHP和HTML中的header都应该设置为UTF-8(HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
和PHP: header('Content-Type: text/html; charset=utf-8');
- 连接到数据库后,也在那里设置字符集 ti UTF-8,如下所示:
$link->set_charset("utf8");
(连接后直接)
- 还要确保您的数据库和表设置为 UTF-8,您可以这样做:
ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
请记住,一切都需要设置为 UFT-8 字符码,否则它会插入诸如“ØØ³Ù†Ø§Ù‹”之类的内容。希望这对您有所帮助!
这是一个对我有用的解决方案:
创建数据库时选择排序规则:utf8_unicode_ci
当您从 php 连接到数据库时,请使用以下字符集:
$dsn = "mysql:host=localhost;dbname=record;charset=utf8";
我正在尝试将阿拉伯语文本存储到 table,我搜索了很多但没有找到适合我的解决方案,所以这就是我得到的:
$en = "OK";
$ar = "حسناً";
$link->query("INSERT INTO words (en,ar) VALUES ($en,$ar)");
问题是当我插入它时,阿拉伯文本看起来像 ØØ³Ù†Ø§Ù‹
,我的 table 的排序规则和 MySQL 的排序规则是 utf8_general_ci
,所以也是我的数据库,我也有 mysql_query("SET NAMES 'utf8'"); mysql_query('SET CHARACTER SET utf8');
,但它不起作用。
首先是数据库,table 和列。查看是否设置了 utf8
:
utf8_general_ci
或 utf8_unicode_ci
此外,连接排序规则:utf8_general_ci
在PHP中,在我连接mysqli之后,我发出这个:
$conn->query("SET NAMES 'utf8'");
而且网页输出总是卡在:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
我最近也遇到了同样的问题。
这里有一些提示:
- 所有属性都必须设置为 ut8(排序规则与字符集不同)
- 将文档另存为 UTF-8(如果您使用的是 Notepad++,则格式 -> 转换为 UFT-8)
- PHP和HTML中的header都应该设置为UTF-8(HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
和PHP:header('Content-Type: text/html; charset=utf-8');
- 连接到数据库后,也在那里设置字符集 ti UTF-8,如下所示:
$link->set_charset("utf8");
(连接后直接) - 还要确保您的数据库和表设置为 UTF-8,您可以这样做:
ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
请记住,一切都需要设置为 UFT-8 字符码,否则它会插入诸如“ØØ³Ù†Ø§Ù‹”之类的内容。希望这对您有所帮助!
这是一个对我有用的解决方案:
创建数据库时选择排序规则:
utf8_unicode_ci
当您从 php 连接到数据库时,请使用以下字符集:
$dsn = "mysql:host=localhost;dbname=record;charset=utf8";