Index: wp-admin/includes/schema.php
===================================================================
--- wp-admin/includes/schema.php	(revision 10258)
+++ wp-admin/includes/schema.php	(working copy)
@@ -301,6 +301,12 @@
 	add_option('widget_rss', array());
 	add_option('update_core', array());
 	add_option('dismissed_update_core', array());
+	
+	if ( defined( 'WPLANG' ) && preg_match( '/^(bo|dz|ii|ja|km|my|th|zh)/', WPLANG ) ) {
+		add_option('counting_method', 'character');
+	} else {
+		add_option('counting_method', 'word');
+	}
 
 	// Delete unused options
 	$unusedoptions = array ('blodotgsping_url', 'bodyterminator', 'emailtestonly', 'phoneemail_separator', 'smilies_directory', 'subjectprefix', 'use_bbcode', 'use_blodotgsping', 'use_phoneemail', 'use_quicktags', 'use_weblogsping', 'weblogs_cache_file', 'use_preview', 'use_htmltrans', 'smilies_directory', 'fileupload_allowedusers', 'use_phoneemail', 'default_post_status', 'default_post_category', 'archive_mode', 'time_difference', 'links_minadminlevel', 'links_use_adminlevels', 'links_rating_type', 'links_rating_char', 'links_rating_ignore_zero', 'links_rating_single_image', 'links_rating_image0', 'links_rating_image1', 'links_rating_image2', 'links_rating_image3', 'links_rating_image4', 'links_rating_image5', 'links_rating_image6', 'links_rating_image7', 'links_rating_image8', 'links_rating_image9', 'weblogs_cacheminutes', 'comment_allowed_tags', 'search_engine_friendly_urls', 'default_geourl_lat', 'default_geourl_lon', 'use_default_geourl', 'weblogs_xml_url', 'new_users_can_blog', '_wpnonce', '_wp_http_referer', 'Update', 'action', 'rich_editing', 'autosave_interval', 'deactivated_plugins');
Index: wp-admin/js/word-count.js
===================================================================
--- wp-admin/js/word-count.js	(revision 10258)
+++ wp-admin/js/word-count.js	(working copy)
@@ -24,9 +24,17 @@
 
 			setTimeout( function() {
 				if ( tx ) {
-					tx = tx.replace( /<.[^<>]*?>/g, ' ' ).replace( /&nbsp;/gi, ' ' );
-					tx = tx.replace( /[0-9.(),;:!?%#$¿'"_+=\\/-]*/g, '' );
-					tx.replace( /\S\s+/g, function(){tc++;} );
+					if ( wordCountL10n.method == 'character' ) {
+						tx = tx.replace( /<.[^<>]*?>/g, '' );
+						tx = tx.replace( /&(nbsp|#160|#x00a0);/gi, '' );
+						tx = tx.replace( /[　\s]/g, '' );
+						tx = tx.replace( /&(#[\d]{2,5}|#x[a-fA-F\d]{1,4}|[a-zA-Z]{2,8}[1-4]{0,2});/g, ' ' );
+						tc = tx.length;
+					} else {
+						tx = tx.replace( /<.[^<>]*?>/g, ' ' ).replace( /&(nbsp|#160|#x00a0);/gi, ' ' );
+						tx = tx.replace( /[0-9.(),;:!?%#$¿'"_+=\\/-]*/g, '' );
+						tx.replace( /\S\s+/g, function(){tc++;} );	
+					}
 				}
 				w.html(tc.toString());
 
Index: wp-admin/options-writing.php
===================================================================
--- wp-admin/options-writing.php	(revision 10258)
+++ wp-admin/options-writing.php	(working copy)
@@ -53,6 +53,16 @@
 ?>
 </td>
 </tr>
+<tr valign="top">
+<th scope="row"><?php _e('Counting method') ?></th>
+<td><fieldset><legend class="hidden"><?php _e('Counting method') ?></legend>
+
+<input name="counting_method" type="radio" id="word_count" value="word" <?php checked('word', get_option('counting_method')); ?> />
+<label for="word_count"><?php _e('Word Count') ?></label><br />
+<input name="counting_method" type="radio" id="character_count" value="character" <?php checked('character', get_option('counting_method')); ?> />
+<label for="character_count"><?php _e('Character Count') ?></label>
+</fieldset></td>
+</tr>
 <?php do_settings_fields('writing', 'default'); ?>
 </table>
 
Index: wp-admin/options.php
===================================================================
--- wp-admin/options.php	(revision 10258)
+++ wp-admin/options.php	(working copy)
@@ -28,7 +28,7 @@
 	'media' => array( 'thumbnail_size_w', 'thumbnail_size_h', 'thumbnail_crop', 'medium_size_w', 'medium_size_h', 'large_size_w', 'large_size_h', 'image_default_size', 'image_default_align', 'image_default_link_type' ),
 	'privacy' => array( 'blog_public' ),
 	'reading' => array( 'posts_per_page', 'posts_per_rss', 'rss_use_excerpt', 'blog_charset', 'show_on_front', 'page_on_front', 'page_for_posts' ),
-	'writing' => array( 'default_post_edit_rows', 'use_smilies', 'ping_sites', 'mailserver_url', 'mailserver_port', 'mailserver_login', 'mailserver_pass', 'default_category', 'default_email_category', 'use_balanceTags', 'default_link_category', 'enable_app', 'enable_xmlrpc' ),
+	'writing' => array( 'default_post_edit_rows', 'use_smilies', 'ping_sites', 'mailserver_url', 'mailserver_port', 'mailserver_login', 'mailserver_pass', 'default_category', 'default_email_category', 'use_balanceTags', 'default_link_category', 'enable_app', 'enable_xmlrpc', 'counting_method' ),
 	'options' => array( '' ) );
 if ( !defined( 'WP_SITEURL' ) ) $whitelist_options['general'][] = 'siteurl';
 if ( !defined( 'WP_HOME' ) ) $whitelist_options['general'][] = 'home';
Index: wp-includes/script-loader.php
===================================================================
--- wp-includes/script-loader.php	(revision 10258)
+++ wp-includes/script-loader.php	(working copy)
@@ -247,9 +247,15 @@
 			'l10n_print_after' => 'try{convertEntities(widgetsL10n);}catch(e){};'
 		));
 
+		if ('character' == get_option('counting_method') ) {
+			$counting_method = __('Character count: %d');
+		} else {
+			$counting_method = __('Word count: %d');
+		}
 		$scripts->add( 'word-count', '/wp-admin/js/word-count.js', array( 'jquery' ), '20081210' );
 		$scripts->localize( 'word-count', 'wordCountL10n', array(
-			'count' => __('Word count: %d'),
+			'count' => $counting_method,
+			'method' => get_option('counting_method'),
 			'l10n_print_after' => 'try{convertEntities(wordCountL10n);}catch(e){};'
 		));
 

