[wp-trac] [WordPress Trac] #21109: maybe_unserialized fails to unserialize multibyte strings (contains solution)
WordPress Trac
wp-trac at lists.automattic.com
Fri Jun 29 06:09:20 UTC 2012
#21109: maybe_unserialized fails to unserialize multibyte strings (contains
solution)
--------------------------+------------------------------------
Reporter: veedeezee | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: General | Version: 3.4
Severity: normal | Keywords: has-patch dev-feedback
--------------------------+------------------------------------
I've came across a bug trying to fetch a custom theme
(http://themeforest.net/item/rebirth-the-wordpress-theme-for-
churches/1167055) option (see addendum #1). The value was UTF8 value and
unserialization failed. DB values were imported by the means of SQL query.
I applied the following fix:
instead of:
function maybe_unserialize( $original ) {
if ( is_serialized( $original ) ) // don't attempt to unserialize
data that wasn't serialized going in
return @unserialize( $original );
return $original;
}
I had:
function maybe_unserialize( $original ) {
if ( is_serialized( $original ) ) { // don't attempt to
unserialize data that wasn't serialized going in
// fix from:
http://www.php.net/manual/en/function.unserialize.php#76012
$out = preg_replace('!s:(\d+):"(.*?)";!se',
"'s:'.strlen('$2').':\"$2\";'", $original );
return @unserialize( $original );
}
return $original;
}
and it worked like a charm.
I also think that it may have some connection to mbstring settings in
php.ini on the server.
'''addendum #1'''
(wp_options, option_id='rebirth'
option_value='a:47:{s:18:"js_highlight_color";s:7:"#DB2A07";s:7:"js_logo";s:0:"";s:14:"js_logo_height";s:2:"70";s:19:"js_background_color";s:7:"#a8a3a3";s:19:"js_background_image";s:64:"http://hasulam.dev
/wp-content/uploads/2011/12/bg-tile-
dkgray.png";s:29:"js_background_image_alignment";s:8:"top
left";s:26:"js_background_image_repeat";s:6:"repeat";s:20:"js_footer_text_style";s:4:"dark";s:25:"js_background_image_fixed";s:1:"0";s:10:"js_favicon";s:0:"";s:14:"js_custom_font";s:10:"FBBeeSerif";s:24:"js_disable_page_comments";s:0:"";s:24:"js_disable_post_comments";s:0:"";s:25:"js_disable_event_comments";s:0:"";s:27:"js_disable_gallery_comments";s:0:"";s:25:"js_disable_video_comments";s:0:"";s:25:"js_disable_audio_comments";s:0:"";s:24:"js_homepage_page_display";s:0:"";s:18:"js_homepage_blocks";a:5:{s:18:"js_homepage_slider";s:1:"0";s:22:"js_homepage_introblock";s:1:"0";s:12:"widget_block";s:1:"0";s:18:"js_event_countdown";s:1:"1";s:18:"js_footer_mapblock";s:1:"0";}s:23:"js_homepage_block_order";s:33:"slider,introblock,block,countdown";s:24:"js_homepage_slider_cycle";s:3:"yes";s:24:"js_homepage_slider_speed";s:4:"6000";s:35:"js_homepage_slider_transition_speed";s:3:"500";s:22:"js_homepage_intro_text";s:224:"קהילת
הסולם — היא קהילה דתית עם לימוד העמוק והמדויק ביותר של חכמת הקבלה ופנימיות
התורה על פי דרכו של בעל הסולם והרב"ש
זצוק"ל";s:23:"js_social_icon_facebook";s:32:"http://www.facebook.com/hasulams";s:22:"js_social_icon_twitter";s:30:"https://twitter.com/#!/hasulam";s:21:"js_social_icon_flickr";s:42:"http://www.flickr.com/people/80922930@N07/";s:22:"js_social_icon_youtube";s:40:"http://www.youtube.com/user/hasulammedia";s:20:"js_social_icon_vimeo";s:0:"";s:25:"js_social_icon_foursquare";s:36:"https://foursquare.com/user/30915399";s:14:"js_time_format";s:3:"24h";s:21:"js_countdown_language";s:7:"english";s:21:"js_contactblock_title";s:18:"בואו
לבקר!";s:20:"js_contactblock_text";s:295:"אנו מזמינים אתכם לבא ולבקר אותנו
בבית מדרשנו ברמת גן. כאן מתפללים, לומדים שיעורי ם עם הרב ובחברותות, קורסים
וסמינרים בשבת. נשמח לראותכם או לשמוע מכם דרך המשוב
באתר.";s:23:"js_contactblock_address";s:33:"128 Jabotinsky, Ramat Gan,
Israel";s:26:"js_contactblock_buttontext";s:17:"יצירת
קשר";s:26:"js_contactblock_buttonlink";s:15:"/about/contact/";s:14:"js_footer_text";s:26:"Copyright
©[year]
Hasulam";s:12:"js_gmap_zoom";s:2:"14";s:14:"js_hide_social";s:1:"0";s:22:"js_disable_breadcrumbs";s:1:"1";s:13:"js_audio_link";s:1:"0";s:13:"js_video_link";s:1:"0";s:18:"js_hide_contactmap";s:1:"0";s:21:"js_contact_form_email";s:22:"hasulam.site at gmail.com";s:14:"js_404_content";s:34:"צטערת,
לא מצאתי הדף";s:19:"js_google_analytics";s:0:"";}')
--
Ticket URL: <http://core.trac.wordpress.org/ticket/21109>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software
More information about the wp-trac
mailing list