我正在设置一个新服务器,并希望在我的Web应用程序中完全支持UTF-8.我过去曾在现有的服务器上尝试过此操作,但最终似乎不得不回归ISO-8859-1.
我在哪里需要设置编码/字符集?我知道我需要配置Apache,MySQL和PHP来执行此操作 - 是否有一些我可以遵循的标准清单,或者可能是在出现不匹配的地方进行故障排除?
这适用于运行MySQL 5,PHP,5和Apache 2的新Linux服务器.
我试图找出我应该用于各种类型数据的排序规则.我将存储的100%内容是用户提交的.
我的理解是我应该使用UTF-8通用CI(Case-Insensitive)而不是UTF-8 Binary.但是,我无法找到UTF-8 General CI和UTF-8 Unicode CI之间的区别.
我所看到的一些问题和相关的错误encoding和collation.任何访客都可以解释MySQL域名的差异吗?
我网站上的用户在文本字段中输入了特殊字符:哦
这些字符显然不是我可以从键盘输入的äö字符,因为当我将它们粘贴到程序员的记事本中时,它们分为两个部分:
在我网站的服务器端,我有一个PHP脚本,该脚本可识别用户输入中的非法特殊字符,并使用来将它们高亮显示为html错误消息preg_replace。
字符拆分也在那里发生,所以我得到一个普通的字母a和o以及一个奇怪的孤独xCC字符,该字符破坏了UTF-8字符串编码,json_encode结果导致函数失败。
处理这些字符的最佳方法是什么?我应该尝试替换特殊的吗?哦 字符并将其替换为常规字符,或者我能以某种方式捕获损坏的UTF-8字符并删除或替换它们吗?