在PHP中使用重音字符

时间:2013-08-13 10:01:18

标签: php

我正在尝试将文本上传到我的数据库中。当用户输入某些字符时,我不断收到编码文本。例如,如果用户输入“Jalapeo”,我最终会在我的数据库中获得“Jalape%C3%B1o”。

我知道这是因为“ñ”被读作“%C3%B1”......

我不确定如何转换所有潜在的重音字符,我已经查看了rewurldecode和其他人,但我想知道这里是否有快速解决方案。任何建议都会很精彩。谢谢!

2 个答案:

答案 0 :(得分:1)

确保您的数据库使用正确的字符集和排序规则(通常您需要UTF-8)。另外,请确保设置连接字符集并发送正确的标题。

e.g。 MySQL的:

mysql_connect();
mysql_set_charset("utf8");
header('Content-Type: text/html; charset=utf-8');

您也可以使用htmlentities将特殊字符转换为HTML实体,但您仍需要确保数据库整理和连接设置正确。

答案 1 :(得分:0)

你的角色是urlencoded。要正确显示它,您必须解码它。但是,在数据库中保存数据时,不应使用url编码。正如dtech所指出的,你必须使用utf8字符集。