8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

始终使用 UTF-8

ryandra 1月前

76 0

我正在设置一个新服务器,并希望在我的 Web 应用程序中完全支持 UTF-8。我过去曾在现有服务器上尝试过此操作,但似乎总是最终不得不回退到 ISO-8859-1。这...

我正在设置一个新服务器,并希望在我的 Web 应用程序中完全支持 UTF-8。我过去曾在现有服务器上尝试过此操作,但似乎总是最终不得不回退到 ISO-8859-1。

我到底需要在哪里设置编码/字符集?我知道我需要配置 Apache、MySQL 和 PHP 才能做到这一点 — 是否有一些我可以遵循的标准清单,或者可以排除不匹配发生的位置故障?

这是用于新的 Linux 服务器,运行 MySQL 5、PHP 5 和 Apache 2。

帖子版权声明 1、本帖标题:始终使用 UTF-8
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由ryandra在本站《mysql》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 首先,如果你使用的是 PHP 5.3 之前的版本,那么不行。你有很多问题需要解决。

    我很惊讶没有人提到 intl 库,该库对 Unicode , 字素字符串 , 操作 , 本地化 等有很好的支持,见下文。

    Elizabeth Smith PHPBenelux'14 slides 幻灯片 中关于 PHP 中 Unicode 支持的一些信息

    国际

    好的:

    • ICU 库的包装器
    • 标准化语言环境,按脚本设置语言环境
    • 数字格式
    • 货币格式
    • 消息格式化(替代 gettext)
    • 日历、日期、时区和时间
    • 音译器
    • 欺骗检测工具
    • 资源包
    • 转换器
    • IDN 支持
    • 字素
    • 排序规则
    • 迭代器

    坏的:

    • 不支持 zend_multibyte
    • 不支持HTTP输入输出转换
    • 不支持函数重载

    mb_字符串

    • 启用 zend_multibyte 支持
    • 支持透明 HTTP 输入/输出编码
    • 提供一些功能的包装器,例如 strtoupper

    图标

    • 主要用于字符集转换
    • 输出缓冲区处理程序
    • mime 编码功能
    • 转换
    • 一些字符串助手(len、substr、strpos、strrpos)
    • 流过滤器 stream_filter_append($fp, 'convert.iconv.ISO-2022-JP/EUC-JP')

    数据库

    • MySQL:表和连接上的字符集和排序规则(不是排序规则)。另外,不要使用 mysql - mysqli 或 PDO
    • postgresql: pg_set_client_encoding
    • sqlite(3): 确保它是使用 Unicode 和国际支持进行编译的

    其他一些问题

    • 除非使用第三方扩展,否则您不能在 PHP 和 Windows 中使用 Unicode 文件名。
    • 如果您使用 exec、proc_open 和其他命令行调用,请以 ASCII 格式发送所有内容
    • 纯文本不是纯文本,文件有编码
    • 您可以使用 iconv 过滤器即时转换文件
返回
作者最近主题: