当我添加文字时,我有输入文字的表格
Un sac à main de femme recèlerait une quantité importante de bactéries
它仅在数据库中添加Un sac
我已尝试使用addslashes,mysql_real_escape_string,htmlspecialchars等也使用UTF-8编码,但仍无法插入整个字符串
答案 0 :(得分:2)
您应该使用utf8_unicode_ci
作为列排序规则,以便在其中添加法语字符串。
答案 1 :(得分:2)
为了在数据库中存储非美国字符串,您必须确保正确实现以下3个步骤:
mysqli_set_charset()
(或MySQL连接器提供的任何内容)。header('Content-Type: text/html; charset=UTF-8');
(如果您使用的是其他字符集,请相应更改。)您当然可以使用不同的字符集进行存储和表示,但为什么要这样做呢?
此外,在使用数据库和HTML时,您应该考虑:
mysqli_real_escape_string()
或数据库连接器提供的任何转义方法。另外,不要使用SET NAMES UTF8
设置连接字符集,否则连接器库将不知道用于转义的字符集。有关详细信息google "sql injection"。htmlspecialchars()
。另外要注意总是提供正确的字符集。有关详细信息google "xss"。答案 2 :(得分:1)
有同样的问题。输入文本来自ANSII文件,因此它不是UTF8,尽管我的所有utf8设置都是如此。 utf8_encode(input_text)解决了它。
答案 3 :(得分:1)
在连续两天打破我的头脑并阅读所有可能的答案后,解决问题的原因是允许我插入其他奇怪的字符,如em dash等,并检索数据而不会看到奇怪的字符。
这是完整的逐步设置。
db列的排序规则必须为:utf8_general_ci
类型为:varchar(250)
在PHP标头中将默认客户端字符集设置为UTF8
mysql_set_charset("UTF8", $link);
设置字符集结果,以便我们显示法语字符
$sql = "SET character_set_results=utf8";
$result = mysql_query($sql);
在html标题中指定,以便您可以查看法语字符:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
插入数据时请勿使用utf8_decode,只需以下方法即可正常使用
$query = 'insert into tbl (col) VALUES ("'.mysql_real_escape_string($variable).'");
使用普通查询来检索数据,例如查询:
$query = "select * from table;";
最后解决了这个问题,希望这对其他人有所帮助。
答案 4 :(得分:0)
在php中:
header ('Content-type: text/html; charset=utf-8');
连接后:
mysql_set_charset("utf8");
答案 5 :(得分:0)
为了跟进这一点,我正在使用dbForge Studio,只是粘贴法语文本,我正确地设置了所有的排序/编码。我没有设置的一件事是与db连接的实际编码。将其设置为UTF8
,一切都很好。 @Janoszen答案中排名第2。
答案 6 :(得分:-1)
我试过了
ヶ辆()
。 .it将字符串保存在数据库中
答案 7 :(得分:-1)
您应该尝试在mysql中插入特殊字符:
$con = mysql_connect($server,$uname,$pass);
$res = mysql_select_db($database,$con)
mysql_set_charset("letin1", $con);