zoukankan      html  css  js  c++  java
  • 更改mysql数据库latin1_swedish_ci为utf8

    原文在http://bingu.net/472/latin1_swedish_ci-to-utf8_general_ci/
    把下列文件保存为一个.php文件,然后运行


    <?php
    define('DB_NAME', 'putyourdbnamehere'); // 数据库名
    define('DB_USER', 'usernamehere'); // MySQL用户名
    define('DB_PASSWORD', 'yourpasswordhere'); // 密码
    define('DB_HOST', 'localhost'); // 很大可能你无需修改此项

    function UTF8_DB_Converter_DoIt() {
    $tables = array();
    $tables_with_fields = array();

    // Since we cannot use the WordPress Database Abstraction Class (wp-db.php),
    // we have to make an a stand-alone/direct connection to the database.
    $link_id = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die('Error establishing a database connection');
    mysql_select_db(DB_NAME, $link_id);

    // Gathering information about tables and all the text/string fields that can be affected
    // during the conversion to UTF-8.
    $resource = mysql_query("SHOW TABLES", $link_id);
    while ( $result = mysql_fetch_row($resource) )
    $tables[] = $result[0];

    if ( !empty($tables) ) {
    foreach ( (array) $tables as $table ) {
    $resource = mysql_query("EXPLAIN $table", $link_id);
    while ( $result = mysql_fetch_assoc($resource) ) {
    if ( preg_match('/(char)|(text)|(enum)|(set)/', $result['Type']) )
    $tables_with_fields[$table][$result['Field']] = $result['Type'] . " " . ( "YES" == $result['Null'] ? "" : "NOT " ) . "NULL " . ( !is_null($result['Default']) ? "DEFAULT '". $result['Default'] ."'" : "" );
    }
    }

    // Change all text/string fields of the tables to their corresponding binary text/string representations.
    foreach ( (array) $tables as $table )
    mysql_query("ALTER TABLE $table CONVERT TO CHARACTER SET binary", $link_id);

    // Change database and tables to UTF-8 Character set.
    mysql_query("ALTER DATABASE " . DB_NAME . " CHARACTER SET utf8", $link_id);
    foreach ( (array) $tables as $table )
    mysql_query("ALTER TABLE $table CONVERT TO CHARACTER SET utf8", $link_id);

    // Return all binary text/string fields previously changed to their original representations.
    foreach ( (array) $tables_with_fields as $table => $fields ) {
    foreach ( (array) $fields as $field_type => $field_options ) {
    mysql_query("ALTER TABLE $table MODIFY $field_type $field_options", $link_id);
    }
    }

    // Optimize tables and finally close the mysql link.
    foreach ( (array) $tables as $table )
    mysql_query("OPTIMIZE TABLE $table", $link_id);
    mysql_close($link_id);
    } else {
    die('<strong>There are no tables?</strong>');
    }

    return true;
    }
    UTF8_DB_Converter_DoIt();
    ?>

  • 相关阅读:
    JS框架_(Bootstrap.js)实现简单的轮播图
    Unity3D_(网格导航)简单物体自动寻路
    Android_(菜单)选项菜单
    Android_(传感器)获取手机中的传感器
    Java基础__Java中常用数学类Math那些事
    Java基础__Java中异常处理那些事
    Android_(控件)动态添加或删除Spinner下拉菜单
    Android_(消息提示)多种使用Toast的消息提示
    Java基础__随机生成1~15之间不重复的数字
    Android_(自动化)获取手机存储卡的容量
  • 原文地址:https://www.cnblogs.com/hssbsw/p/3448246.html
Copyright © 2011-2022 走看看