Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql保加利亚语言,字符集_Mysql_Character Encoding - Fatal编程技术网

Mysql保加利亚语言,字符集

Mysql保加利亚语言,字符集,mysql,character-encoding,Mysql,Character Encoding,我有一个Mysql表,有多种语言,一种语言一个字段 我的角色集是utf\u general\u ci 当我用phpMyAdmin查看表格时,我看到了一个保加利亚页面,看起来像这样: За Ð½Ð°Ñ За нас (this is correct) 这是一个标题。该标题在网站上显示如下: За Ð½Ð°Ñ За нас (this is correct) 我做错了什么?好的,在实际提取记录之前尝试执行以下查询: mysql_query("SET NAMES 'utf8'");

我有一个Mysql表,有多种语言,一种语言一个字段

我的角色集是utf\u general\u ci

当我用phpMyAdmin查看表格时,我看到了一个保加利亚页面,看起来像这样:

За наÑ
За нас  (this is correct)
这是一个标题。该标题在网站上显示如下:

За наÑ
За нас  (this is correct)

我做错了什么?

好的,在实际提取记录之前尝试执行以下查询:

mysql_query("SET NAMES 'utf8'");
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");

然后继续执行查询。当然,上述查询必须在当前数据库连接的上下文中。

好的,在实际获取记录之前尝试执行这些查询:

mysql_query("SET NAMES 'utf8'");
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");

然后继续执行查询。当然,上述查询必须在当前数据库连接的上下文中。

这看起来数据是UTF-8编码的,因此可以在声明为UTF-8编码的网页上正常工作,但在程序无法处理或未设置为应用UTF-8时则不行


例如,出现两次的字符°。字节0xB0和0xD1是西里尔文小写字母a,U+0430的UTF-8形式,出现在正确文本的相应位置。因此,显然UTF-8数据根据ISO-8859-1、Windows-1252或类似的8位编码被误解了

这看起来像是数据是UTF-8编码的,因此在声明为UTF-8编码的网页上工作良好,但在程序无法处理或未设置为应用UTF-8时则不工作


例如,出现两次的字符°。字节0xB0和0xD1是西里尔文小写字母a,U+0430的UTF-8形式,出现在正确文本的相应位置。因此,显然UTF-8数据根据ISO-8859-1、Windows-1252或类似的8位编码被误解了

表中的字段使用什么字符集? 您能为这些字段共享SHOW CREATE TABLE命令的相关部分吗

由于ISO-8859-1是mysql的默认数据库字符集,并且大多数情况下不进行任何转换,因此人们将其用作二进制文件,只将UTF-8编码的西里尔字母存储到其中。这与web开发工具配合得很好,因为它们绑定到字段并以UTF-8编码的二进制字节的形式接收数据,然后在不进行转换的情况下,将其放入一个网页,该网页表示其输出使用UTF-8编码。因此,数据只是通过而没有被正确编码以供数据库使用。当然,当您在数据库中执行操作时,这会导致各种问题,例如获取字符与字节长度,并尝试正确排序。但对于基本的存储/检索操作来说,它看起来很有效。 这是非本地化web应用程序的一个非常典型的行为,这些应用程序假定它们最多使用ASCII或ISO-8859-1。
解决方法是使用UTF-8编码创建一组新的表,然后将错误编码的UTF-8数据显式转换为宽字符,然后将其放入UTF-8表中,以便数据库知道使用了正确的编码。

表中的字段使用什么字符集? 您能为这些字段共享SHOW CREATE TABLE命令的相关部分吗

由于ISO-8859-1是mysql的默认数据库字符集,并且大多数情况下不进行任何转换,因此人们将其用作二进制文件,只将UTF-8编码的西里尔字母存储到其中。这与web开发工具配合得很好,因为它们绑定到字段并以UTF-8编码的二进制字节的形式接收数据,然后在不进行转换的情况下,将其放入一个网页,该网页表示其输出使用UTF-8编码。因此,数据只是通过而没有被正确编码以供数据库使用。当然,当您在数据库中执行操作时,这会导致各种问题,例如获取字符与字节长度,并尝试正确排序。但对于基本的存储/检索操作来说,它看起来很有效。 这是非本地化web应用程序的一个非常典型的行为,这些应用程序假定它们最多使用ASCII或ISO-8859-1。
解决方法是使用UTF-8编码创建一组新的表,然后将错误编码的UTF-8数据显式转码到宽字符,然后将其放入UTF-8表中,以便数据库知道使用了正确的编码。

请参阅。我的猜测:通常缺少连接编码。请参阅。我的猜测是:通常丢失的连接编码。到目前为止没有成功。奇怪的字符Ð-анаñ通常存在于数据库中,这正常吗?不,这不正常,很可能它们是用错误的编码插入的。但是在网站中使用时,它们怎么可能显示正常?看起来这很有效。如果我遇到困难,我会通知你的!到目前为止没有成功。奇怪的字符Ð-анаñ通常存在于数据库中,这正常吗?不,这不正常,很可能它们是用错误的编码插入的。但这怎么可能呢
它们在网站中使用时会正常显示吗?看起来这很有效。如果我遇到困难,我会通知你的!