繁体   English   中英

将MySQL数据库更改为UTF-8编码时,应该在PHP设置中更新哪些内容?

[英]What should I update in my PHP setup when I change my MySQL databases to UTF-8 encoding?

我目前在PHP 5和MySQL主干网上运营一个网站。 MySQL数据库使用cp1252 West Europe ( latin1 )编码和latin1_swedish_cp归类。

我想将MySQL数据库切换为UTF-8编码和utf8_general_ci 在处理MySQL内容并重做站点上的所有内容时,我不需要在MySQL中转换内容的帮助。 假设我在此对话中正确执行了此操作(即使可能不是)。

我知道php.ini中有诸如default_charset类的设置,默认为iso-8859-1 我还知道,如果我正在处理包含多字节UTF-8字符的字符串,那么许多PHP的字符串操作函数(例如strlen()以及正则表达式)将无法正常工作,我意识到并不是所有UTF-8字符都包含在内UTF-8集。

我需要对PHP服务器端和我的Web应用程序进行什么处理,以处理从数据库中发出的UTF-8? 这有什么作用?

您将必须使用以下命令设置数据库连接:

mysql_query("SET NAMES 'utf8'");

然后用mbstring模块中的“常规”字符串函数替换它们: http ://php.net/manual/zh/book.mbstring.php,例如mb_strlen,mb_substr等。

以及在需要的地方指定UTF-8编码,例如在htmlentities函数中:

echo htmlentities($str, ENT_QUOTES, "UTF-8");

参见功能。

另外,您应该使用utf-8编码保存所有文件(最好不带BOM)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM