使用php的阿拉伯语Mysql整理

时间:2012-01-16 14:08:59

标签: php mysql collation

我遇到了mysql数据库的问题。即使我将排序规则更改为cp1256_general_ci并尝试其他排序规则,我也无法将阿拉伯语文本保存到mysql数据中。我无法从搜索中获得很多帮助。

任何可以帮助我的人都可以帮忙

我已将数据库级别的排序规则以及某些字段的colum级别更改为cp1256_general_ci。

请建议我应该如何设置这个,因为我是新的PHP和MySQL

我还编写简单的INSERT语句来在mysql中插入输入数据我是否必须采取任何情况下将数据插入mysql(如果它是在阿拉伯语中)

1 个答案:

答案 0 :(得分:5)

简短的回答是:到处使用UTF-8。 “无处不在”意味着

  • 用于在数据库中存储数据的所有表单
  • 数据库连接
  • 数据库表和列
  • 在从数据库输出数据的所有页面中。

如果您有现有的CP-1256数据(或该字符集中无法更改的传入数据),您可以使用iconv()将其转换为UTF-8。

请注意,如果使用UTF-8,则需要确保使用multibyte-safe string functions.这通常已经是这种情况,因为像strlen()这样的标准函数会映射到mb_strlen()。要了解服务器上是否属于这种情况,see the manual entry on the issue.