我遇到了mysql数据库的问题。即使我将排序规则更改为cp1256_general_ci并尝试其他排序规则,我也无法将阿拉伯语文本保存到mysql数据中。我无法从搜索中获得很多帮助。
任何可以帮助我的人都可以帮忙
我已将数据库级别的排序规则以及某些字段的colum级别更改为cp1256_general_ci。
请建议我应该如何设置这个,因为我是新的PHP和MySQL
我还编写简单的INSERT语句来在mysql中插入输入数据我是否必须采取任何情况下将数据插入mysql(如果它是在阿拉伯语中)
答案 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.