Index: wp-includes/js/autosave.js.php
===================================================================
--- wp-includes/js/autosave.js.php	(revision 4106)
+++ wp-includes/js/autosave.js.php	(working copy)
@@ -1,11 +1,5 @@
 <?php @require_once('../../wp-config.php');
-$expiresOffset = 3600 * 24 * 10;		// 10 days util client cache expires
-
-header("Content-type: text/javascript; charset: UTF-8");
-header("Vary: Accept-Encoding"); // Handle proxies
-header("Expires: " . gmdate("D, d M Y H:i:s", time() + $expiresOffset) . " GMT");
-
-
+cache_javascript_headers();
 ?>
 var autosaveLast = '';
 function autosave_timer() {
Index: wp-includes/functions.php
===================================================================
--- wp-includes/functions.php	(revision 4106)
+++ wp-includes/functions.php	(working copy)
@@ -737,6 +737,13 @@
 	@ header('Pragma: no-cache');
 }
 
+function cache_javascript_headers() {
+	$expiresOffset = 864000; // 10 days
+	header("Content-type: text/javascript; charset=" . get_bloginfo('charset'));
+	header("Vary: Accept-Encoding"); // Handle proxies
+	header("Expires: " . gmdate("D, d M Y H:i:s", time() + $expiresOffset) . " GMT");
+}
+
 function get_num_queries() {
 	global $wpdb;
 	return $wpdb->num_queries;
Index: wp-admin/cat-js.php
===================================================================
--- wp-admin/cat-js.php	(revision 4106)
+++ wp-admin/cat-js.php	(working copy)
@@ -1,6 +1,6 @@
 <?php
 require_once('../wp-config.php');
-header('Content-type: text/javascript; charset=' . get_settings('blog_charset'), true);
+cache_javascript_headers();
 ?>
 addLoadEvent(function(){catList=new listMan('categorychecklist');catList.ajaxRespEl='jaxcat';catList.topAdder=1;catList.alt=0;catList.showLink=0;});
 addLoadEvent(newCatAddIn);
Index: wp-admin/list-manipulation-js.php
===================================================================
--- wp-admin/list-manipulation-js.php	(revision 4106)
+++ wp-admin/list-manipulation-js.php	(working copy)
@@ -1,6 +1,6 @@
 <?php
 require_once('admin.php');
-header('Content-type: text/javascript; charset=' . get_settings('blog_charset'), true);
+cache_javascript_headers();
 $handler =  get_settings( 'siteurl' ) . '/wp-admin/admin-ajax.php';
 ?>
 addLoadEvent(function(){theList=new listMan();});
Index: wp-admin/dbx-admin-key-js.php
===================================================================
--- wp-admin/dbx-admin-key-js.php	(revision 4106)
+++ wp-admin/dbx-admin-key-js.php	(working copy)
@@ -1,6 +1,6 @@
 <?php
 require_once('admin.php');
-header('Content-type: text/javascript; charset=' . get_settings('blog_charset'), true);
+cache_javascript_headers();
 
 switch ( $_GET['pagenow'] ) :
 	case 'post.php' :
