首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >国际化内容使用utf8_encode() (php函数)的最佳实践

国际化内容使用utf8_encode() (php函数)的最佳实践
EN

Stack Overflow用户
提问于 2011-09-10 10:40:48
回答 1查看 2.5K关注 0票数 7

为了让网站接受用户提交的可能不是英文(如日文)的内容,并将其保存到数据库中,utf8_encode所有新内容和用户utf8_decode以后检索这些内容是否最符合我的利益?

进一步的信息:我使用的是理论,当我试图将Unicode字符保存或选择到MySQL数据库时会出错:

SQLSTATEHY000:一般错误: 1267用于操作'='

的排序规则(latin1_swedish_ci,隐式)和(utf8_general_ci,强制)的非法混合

EN

回答 1

Stack Overflow用户

发布于 2011-09-10 19:59:21

布伦特是对的。必须是端到端的。这是我的单子:

代码语言:javascript
复制
Apache config:
    AddDefaultCharset UTF-8
    AddCharset UTF-8  .utf8

php.ini:
    default_charset = "utf-8"

MySQL:
    ALTER DATABASE DEFAULT CHARACTER SET utf8;
    ALTER TABLE SomeTableName DEFAULT CHARACTER SET utf8;

PHP/HTML:
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    …
    <form … <input type="text" name="some_field" value="<?php echo htmlspecialchars($row['some_field'], ENT_COMPAT, 'UTF-8'); ?>"…

This last one seems the most important. Call this function immediately after the mysql_connect() call:
    mysql_query("SET NAMES 'utf8'");
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7371146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档