插入重音和拉丁1字符

时间:2014-04-13 11:38:54

标签: php mysql

我的MySQL数据库中有下一个表:

CREATE TABLE cities ( 
    idcity int(10) unsigned NOT NULL auto_increment, 
    city varchar(50) NOT NULL,
    PRIMARY KEY  (idcity), 
) ENGINE=latin1  DEFAULT CHARSET=latin1; 

我将有大约8000个城市(aprox),我的查询是正确的:

INSERT INTO cities (city) VALUES ('Barcelona'),('Álava'), ('Cáceres'), ...直到西班牙8000个城市。

我不想做的是在PHP utf8_decode中使用,因为我有8000个寄存器。

在PHP中,我在字符串中插入并在执行查询后。 table以latin1

创建

MySQL如何识别那些城市的口音?

2 个答案:

答案 0 :(得分:0)

只需在utf8_general_ci的SQL表格中使用city varchar排序规则。

答案 1 :(得分:0)

绝对不需要手动编码数据(如果不在PHP手册中查找实际操作,请不要使用utf8_decode()

最有可能的是,当您连接到MySQL时,您无法设置连接编码:

  • 在PDO中,使用the constructor

    new PDO('mysql:host=localhost;dbname=foo;charset=utf8', ....);
    
  • 在MySQLi中,call set_charset()

    $mysqli->set_charset('utf8')
    

现在,不要盲目输入utf8。您需要找出您的应用正在使用的编码。