如何最好地配置PHP来处理UTF-8网站

Rik*_*ood 19 php utf-8

你会推荐什么扩展,如何最好配置php来创建一个使用utf-8编码的网站.例如...

  • 页面输出为utf-8
  • 表单提交以utf-8编码的数据
  • 字符串数据的内部处理(例如,当与数据库交谈时)也都在utf-8中.

看来php目前还不能很好地处理多字节字符集.到目前为止,我已经知道mbstring看起来像一个重要的扩展.

值得麻烦......?

djn*_*djn 51

带有Unicode内容的PHP假设问题有些夸大其词.自1998年以来,我一直在做多语种网站,直到我在某处读到它之前从未知道可能存在问题 - 多年以后和网站.

这对我来说很好用:

Apache配置(在httpd.conf或.htaccess中)

AddDefaultCharset utf-8
Run Code Online (Sandbox Code Playgroud)

PHP(在php.ini中)

default_charset = "utf-8"
mbstring.internal_encoding=utf-8
mbstring.http_output=UTF-8
mbstring.encoding_translation=On
mbstring.func_overload=6 
Run Code Online (Sandbox Code Playgroud)

MySQL的

CREATE使用utf8_*排序规则的数据库,让表继承数据库排序规则并启动每个连接"SET NAMES utf8"

HTML(在HEAD元素中)

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Run Code Online (Sandbox Code Playgroud)