![](/img/trans.png)
[英]Should I convert mysql to UTF-8 if only using english? If mysql and php are UTF-8 what php code needs to be changed?
[英]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.