特殊字符设置PHP

时间:2013-01-29 08:42:57

标签: php mysqli

每次我创建一个新项目时,我最终会遇到麻烦,因为我忘了用UTF-8创建数据库排序规则,或者有些字符滑落到我看不到é/à/ ..但是也是双重...或者三重奏...似乎非常讨厌。我通常使用 mysqli_real_escape_string 来确保他将字符写下来,当我打印它们时,我使用 htlmentities 。但是这对所有角色都不起作用,并且不能用于双重...或者三倍......

在设置项目时是否应该记住一般规则/指南,所以我对这些特殊字符没有麻烦?

2 个答案:

答案 0 :(得分:1)

  

在设置项目时是否应该记住一般规则/指南?

不确定。
始终设置数据库连接字符集以匹配HTML页面实际字符集。

说,你的网页是在utf-8,然后发出

mysqli_set_charset($conn,'utf8');
连接后

您的网页

在Windows-1251中,然后制作

mysqli_set_charset($conn,'cp1252');

等等

也始终使用mysqli_real_escape_string格式化字符串文字,动态添加到查询中, 在将用户输入打印回HTML页面时使用htmlspecialchars()

<强>更新
此外,您还需要使用支持所有必需字符的字符集设置表格(UTF-8是首选默认值)。

CREATE TABLE `table` (
    ...
) DEFAULT CHARSET=utf8

使用此类定义创建表格时,您的数据将永远不会出现

答案 1 :(得分:1)

请参考:每个程序员绝对需要知道编码和字符集以处理文本:http://kunststube.net/encoding/