sql >> Database >  >> RDS >> Mysql

Is BOB ... NAMEN INSTELLEN utf8 gevaarlijk?

Gebruik je echt nog PHP>=versie 3.6 en <5.3.6 ?

Ervan uitgaande dat je 5.3.6 of hoger hebt...

Tekensets en PDO_MYSQL DSN zeg dat je moet gebruiken

$pdo = new PDO("mysql:host=localhost;dbname=mydb;charset=utf8",
               'my_user', 'my_pass');

En impliceert (niet duidelijk genoeg) dat utf8 moet worden vervangen door utf8mb4 indien van toepassing.

PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8' is niet zo goed, maar was het alternatief vóór 5.3.6.

Ik denk dat 'gevaarlijk' een te sterk woord is, zelfs vóór 5.3.6.

Een verwante techniek:init_command = SET NAMES ... in my.cnf is slecht omdat init_command wordt niet uitgevoerd bij verbinding als root .

utf8mb4 is de geprefereerde CHARACTER SET voor UTF-8 omdat het Emoji en enkele Chinese karakters bevat die ontbraken in utf8 . Die tekenset is beschikbaar vanaf MySQL-versie 5.5.3.




  1. Hoe MySQL-database naar een andere server te repliceren?

  2. Tijd groeperen per uur of per 10 minuten

  3. Sqlite-gegevens en automatisch gemaakte knoppen op ScrollPane

  4. Prestaties van SUBSTR op CLOB