用php编码字符串


encoding a string in php

我正在执行以下语句。

$mystring = <<<EOT
UPDATE sites_niche SET `short_review` = REPLACE(`short_review`, '’',"'");
EOT;

然而,它不起作用,因为如果我把它放在phpmyadmin中,它就会起作用。罪魁祸首是这个坏角色’,这个角色根本没有被替换。

我试图将更新声明打印到屏幕上,得到的是:

UPDATE sites_niche SET `short_review` = REPLACE(`short_review`, '’',"'");

我认为字符串一进入数据库就会被打乱。我的问题是如何对这些字符集’进行编码,以便它们一进入数据库就不会被混淆。

我在你的帖子中看到了两个问题。

如果你不知道哪种是你的编码格式,你可以使用php-mb_detect()函数来检查字符编码格式,并使用识别的格式用于下面的解决方案

  1. 从php更新到mysql

解决方案:-负责连接到Mysql的php代码应该使用

mysql_set_charset ( string $charset [, resource $link_identifier = NULL ] ) 

2.当你打印的字符是乱码

解决方案:-您必须在页面doctype声明中设置字符编码,否则您将看到以下乱码字符

您可以使用iconv扩展http://es.php.net/manual/en/function.iconv.php或mbstringhttp://es.php.net/manual/en/function.mb-convert-encoding.php将字符串从一个字符集转换为其他字符集