Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 05-12-2012, 06:12 AM
ntldr1962 ntldr1962 is offline
 
Join Date: Aug 2010
Posts: 10
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Russian chars in MySQL are Ok but no in the forum

Hello!

we are developing a forum, then we have found this error:

we set up in the MySQL (via phpmyadmin) the encoding for the MySQL into UTF-8 because we are importing information in Russian language, then we have found this mistakes:

1.- in the MySQL database we can read fine the text but not in the forum (see images please)

2.- In the admincp language english we set up also the encoding in UTF-8

3.- but in theforum we see weird signs like ????

what did i forgot?

any help would be appreciated
Attached Images
File Type: jpg img1.jpg (111.8 KB, 0 views)
File Type: jpg img2.jpg (118.0 KB, 0 views)
File Type: jpg img3.jpg (113.9 KB, 0 views)
File Type: jpg img4.jpg (187.1 KB, 0 views)
Reply With Quote
  #2  
Old 05-12-2012, 09:58 AM
Christos Teriakis Christos Teriakis is offline
 
Join Date: Jul 2011
Location: Thessaloniki, Greece
Posts: 1,228
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by ntldr1962 View Post
Hello!

we are developing a forum, then we have found this error:

we set up in the MySQL (via phpmyadmin) the encoding for the MySQL into UTF-8 because we are importing information in Russian language, then we have found this mistakes:

1.- in the MySQL database we can read fine the text but not in the forum (see images please)

2.- In the admincp language english we set up also the encoding in UTF-8

3.- but in theforum we see weird signs like ????

what did i forgot?

any help would be appreciated
I don't think that you used the right way, especially if you have already data in your database.
  1. Using COLLATE utf8_general_ci is not the right choice. Better use utf8_unicode_ci
  2. Changing it from phpMyAdmin is also not correct, especially when you're also changing charset eg from iso-8859-1 to utf8 avoid to use phpMyAdmin.
  3. The best way is to do the changes from the command line if you've shell access.
  4. Finally, after conversion you need to change the data from your backup sqldump (hope you know that you've to get a full database backup before such actions), by using iconv
Chris
Reply With Quote
  #3  
Old 05-12-2012, 02:00 PM
ntldr1962 ntldr1962 is offline
 
Join Date: Aug 2010
Posts: 10
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ok let me try to perform the actions that you recommend =)

thanks in advance
Reply With Quote
  #4  
Old 05-13-2012, 02:39 PM
ntldr1962 ntldr1962 is offline
 
Join Date: Aug 2010
Posts: 10
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ready! we solved it thank you!

at the end we used a php script to convert the Database, and also "DONT FORGET" to put in languages in the Admincp "utf8" not UTF-8

here is my simple script:

Quote:
<?php


// Fill in your configuration below
$db_server = 'server';
$db_user = 'user';
$db_password = 'pass';
$db_name = 'db';
$char_set = 'utf8';



header('Content-type: text/plain');

$connection = mysql_connect($db_server, $db_user, $db_password) or die(mysql_error() );

$db = mysql_select_db($db_name) or die( mysql_error() );

$sql = 'SHOW TABLES'; $result = mysql_query($sql) or die( mysql_error() );

while ( $row = mysql_fetch_row($result) )
{
$table = mysql_real_escape_string($row[0]);
$sql = "ALTER TABLE $table DEFAULT CHARACTER SET $char_set COLLATE utf8_unicode_ci";
mysql_query($sql) or die( mysql_error() );

print "$table changed successfully.\n";
}


// Update the Collation of the database itself
$sql = "ALTER DATABASE CHARACTER SET $char_set;";
mysql_query($sql) or die( mysql_error());

print "Database collation has been updated successfully.\n";

// close the connection to the database
mysql_close($connection);

?>
Reply With Quote
  #5  
Old 05-14-2012, 10:48 AM
thincom2000 thincom2000 is offline
 
Join Date: May 2006
Location: Bronx, NY
Posts: 1,205
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Altering the DEFAULT collation of your existing tables is not enough. You also need to alter the collation of each column in the table, because it will still keep the old collation. The default is only used for new columns that are added. Learned this the hard way myself.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 09:47 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04927 seconds
  • Memory Usage 2,224KB
  • Queries Executed 12 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (4)postbit_attachment
  • (5)postbit_onlinestatus
  • (5)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete