Php 显示拉丁1编码的MySQL表中的西里尔字符

Php 显示拉丁1编码的MySQL表中的西里尔字符,php,mysql,encoding,Php,Mysql,Encoding,我有一个包含西里尔字母的拉丁1_瑞典_ci表。当我通过phpMyAdmin查看数据时,它会发出如下信息: 1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1951955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自19519

我有一个包含西里尔字母的拉丁1_瑞典_ci表。当我通过phpMyAdmin查看数据时,它会发出如下信息:

1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1951955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1955年的自1951955年的自1951955年的自1955年的自1955年的自1955年的自1951955年的自1955年的自1955年的自1955年的自1955年的自1955年的自自1955年的自1955年的自自1955年的自1951955年的自1955年的自1955年的自195年的自1955年的自195195195195195挈挈挈挈挈挈挈挈挈挈挈挈挈挈挈挈挈挈挈挈Ã

我的目标是使用PHP获取每个字符串,将其发送到Google Translate,并将结果存储在MySQL数据库中的一个新列中


我的问题是,当我查询这个查询时,我得到的只是垃圾,就像你在这里看到的一样。我知道我必须处理头部、MySQL连接和字符编码,但我还没有找到有效的方法。我该怎么做才能得到西里尔文格式的字符串呢?

如果您有一个.sql文件,请编辑它,找到其中的CREATE TABLE“name of the TABLE here”,最后将拉丁文1更改为utf8。然后将其导入数据库

范例

ENGINE=InnoDB DEFAULT CHARSET=latin1;
ENGINE=InnoDB DEFAULT CHARSET=utf8;

你能看看使用这些的原始应用程序吗?为什么不首先对数据库使用正确的编码呢?你不能在拉丁1表中可靠地存储西里尔字母字符。不包括西里尔字母。您应该将信息存储在Unicode表/列中。先这样做,你就省去了很多麻烦。如有任何其他问题,请先检查!问题是我得到了一个SQL文件,我现在正试图在没有任何原始数据访问权限的情况下解决这个问题。关于现在该做什么有什么建议吗?我是否应该尝试修复SQL文件本身的问题?我应该更改该文件的编码吗?加载文件时是否应更改连接编码?现在,SQL文件创建拉丁语1_瑞典语ci表。我也应该改变吗?我试过了,但还是会收到垃圾。我应该更改文件的编码吗?什么联系?我应该为数据库本身选择什么编码?在将应用程序中的任何数据插入数据库之前,在选择数据库之后,请尝试此mysql_查询(“设置名称‘utf8’”,$con)$con表示您的连接,例如$con=mysql\u connect(“主机名”、“用户名”、“密码”)或die('cannotconnecttodb:'。mysql\u error());数据库编码应该可以如果它是utf8\u general\u ciSo,就不需要更改SQL文件本身的编码了吗?知道我应该在数据库、表和字段级别使用什么排序规则/字符集吗?utf8\u general\u ci几乎涵盖了处理“奇怪”字符时的所有内容。