Php 数据库中的奇怪字符

Php 数据库中的奇怪字符,php,Php,嗨,我需要在我的数据库中存储奇怪的字符,但当我尝试这样做时,奇怪的字符被替换为未知字符。我举一个例子,当我试图在数据库中输入Sönke Wortmann时,它被存储为SÃnke Wortmann。我想按原样存储上面的文本。请告诉我怎么做您应该使用Unicode表以及与数据库的Unicode连接 假设您使用MySQL: 将表的默认字符集设置为utf8,并确保与数据库的连接也使用此字符集: $conn = mysql_connect($server, $username, $password); m

嗨,我需要在我的数据库中存储奇怪的字符,但当我尝试这样做时,奇怪的字符被替换为未知字符。我举一个例子,当我试图在数据库中输入Sönke Wortmann时,它被存储为SÃnke Wortmann。我想按原样存储上面的文本。请告诉我怎么做

您应该使用Unicode表以及与数据库的Unicode连接

假设您使用MySQL:

将表的默认字符集设置为utf8,并确保与数据库的连接也使用此字符集:

$conn = mysql_connect($server, $username, $password);
mysql_set_charset("UTF8", $conn);
另见:

使用以下命令检查当前连接的字符集:

echo mysql_client_encoding($conn);
另见:

创建表时,请执行以下操作:

create table tableName (
    // Your table definition
) default charset = UTF8

如果您完成了这些操作并向表中添加了奇怪的字符,您将看到它显示正确。

您应该使用Unicode表以及与数据库的Unicode连接

假设您使用MySQL:

将表的默认字符集设置为utf8,并确保与数据库的连接也使用此字符集:

$conn = mysql_connect($server, $username, $password);
mysql_set_charset("UTF8", $conn);
另见:

使用以下命令检查当前连接的字符集:

echo mysql_client_encoding($conn);
另见:

创建表时,请执行以下操作:

create table tableName (
    // Your table definition
) default charset = UTF8

如果您已经完成了这些操作并向表中添加了奇怪的字符,您将看到它显示正确。

Sènke
是使用解释
Sönke
的UTF-8编码字符串时所看到的。因为在UTF-8中,字符
ö
(U+00F6)用0xC3B6编码,0xC3B6表示ISO 8859-1中的两个字符
ö
(0xC3)和
(0xB6)。
SÃnke
是用符号解释
Sönke
的UTF-8编码字符串时所看到的。因为在UTF-8中,字符
ö
(U+00F6)用0xC3B6编码,0xC3B6表示ISO 8859-1中的两个字符
Ã
(0xC3)和
(0xB6)。