Hi guys, good morning.
I've just get this script for converting mysql tables from wordpress, and I want to use it in my server, but no with wordpress, with oscommerce, a friend of mine told me a few things I should do for make it working, but less than a rookie in PHP, began studying it now ¬¬", and sure I dont know how to use command line yet, she told me something about using command line along with FTP ascii table, I'm lost, couldn't do that, how do I install it? How do I configurate it?
Ps: the script is for converting ascii characters for utf-8 or latin1. If u have anything else that can help me instead of using it, please let me know, here u see how's oscommerce http://www.mghospedagem.com/catalog/
u can see on the left that there are strange characters (oscommerce chars configuration is correct, the trouble's with the server, I contacted em but they didn't nothing, that's why I'm trying to install this script)
Here goes the script "convert_to_utf 8_sql_generator _extended.txt"
I've just get this script for converting mysql tables from wordpress, and I want to use it in my server, but no with wordpress, with oscommerce, a friend of mine told me a few things I should do for make it working, but less than a rookie in PHP, began studying it now ¬¬", and sure I dont know how to use command line yet, she told me something about using command line along with FTP ascii table, I'm lost, couldn't do that, how do I install it? How do I configurate it?
Ps: the script is for converting ascii characters for utf-8 or latin1. If u have anything else that can help me instead of using it, please let me know, here u see how's oscommerce http://www.mghospedagem.com/catalog/
u can see on the left that there are strange characters (oscommerce chars configuration is correct, the trouble's with the server, I contacted em but they didn't nothing, that's why I'm trying to install this script)
Here goes the script "convert_to_utf 8_sql_generator _extended.txt"
Code:
<?php /* Template Name: Convert Database to UTF8 Copyright 2007 Anders Stalheim Oefsdahl (email : anders@apt.no) Detail at http://www.mydigitallife.info/2007/07/22/how-to-convert-character-set-and-collation-of-wordpress-database/ Bug fix by My Digital Life on 22 June 2007. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ echo '<h1>Convert Database to UTF8</h1>'; echo '<p>This script generates SQL to convert existing tables to utf8, following the guide at <a href="http://codex.wordpress.org/Converting_Database_Character_Sets">http://codex.wordpress.org/Converting_Database_Character_Sets</a>, temporarily setting various fields to BLOB before setting them back to their respective types.</p>'; echo '<p>This is an extended script for databases which are already utf8 but the strings are in latin1. It converts existing tables and colums to latin1 before the BLOB conversion</p>'; echo '<p>Please note that you probably will get some errors running the scripts, regarding key length on some tables. These errors can be ignored (at least I did :).</p>'; require_once("wp-config.php"); global $wpdb; /** * Fetch all tables */ $tables = array(); $sql_tables = "SHOW TABLES"; $res_tables = $wpdb->get_results( $sql_tables ); if( is_array( $res_tables ) ){ foreach( $res_tables as $res_table ){ if(strpos($res_table->Tables_in_DATABASENAME, $table_prefix) === 0) $tables[$res_table->Tables_in_DATABASENAME] = array(); } } /** * Loop all tables fetching each table's fields and filter out fields of type CHAR, VARCHAR, TEXT, ENUM, and SET (and related variations) */ if( count( $tables )>0 ){ foreach( $tables as $table=>$fields ){ // if (strpos($table_prefix, $table) == 0) // { $sql_fields = "EXPLAIN ".$table; $res_fields = $wpdb->get_results( $sql_fields ); if( is_array( $res_fields ) ){ foreach( $res_fields as $field ){ switch( TRUE ){ case strpos( strtolower( $field->Type ), 'char' )===0: case strpos( strtolower( $field->Type ), 'varchar' )===0: case strpos( strtolower( $field->Type ), 'text' )===0: case strpos( strtolower( $field->Type ), 'enum' )===0: case strpos( strtolower( $field->Type ), 'set' )===0: case strpos( strtolower( $field->Type ), 'tinytext' )===0: case strpos( strtolower( $field->Type ), 'mediumtext' )===0: case strpos( strtolower( $field->Type ), 'longtext' )===0: $tables[$table][$field->Field] = $field->Type; break; default: break; } } // } } } } $tables_to_latin1 = ''; $tables_to_utf8 = ''; $columns_to_latin1 = ''; $columns_to_blob = ''; $columns_to_utf8 = ''; foreach( $tables as $table=>$fields ){ $tables_to_latin1 .= "\nALTER TABLE ".$table." DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;"; $tables_to_utf8 .= "\nALTER TABLE ".$table." DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;"; if( count( $fields )>0 ){ foreach( $fields as $name=>$type ){ $columns_to_latin1 .= "\nALTER TABLE ".$table." MODIFY ".$name." CHARACTER SET latin1 COLLATE latin1_swedish_ci;"; $columns_to_blob .= "\nALTER TABLE ".$table." MODIFY ".$name." BLOB;"; $columns_to_utf8 .= "\nALTER TABLE ".$table." MODIFY ".$name." ".$type.";"; } } } //$complete_sql = $sql_to_blob."\nALTER DATABASE ".DB_NAME." charset=utf8;".$sql_to_utf8.$sql_to_original; $complete_sql = $tables_to_latin1."\n".$columns_to_latin1."\n".$columns_to_blob."\n".$tables_to_utf8."\n".$columns_to_utf8; echo nl2br( $complete_sql ); ?>
Comment