แก้ปัญหา UIWebView ไม่ทำงานกับ URL ภาษาไทยด้วย Encoding URL NSString บน iOS

การทำงานกับ UIWebView เมื่อ url มีภาษาอื่นร่วมด้วย UIWebView จะไม่ทำงาน ทางแก้คือ Encode ด้วย UTF8

ที่ไฟล์ NSString+URLEncoding.h

#import
@interface NSString (URLEncoding)
-(NSString *)urlEncodeUsingEncoding:(NSStringEncoding)encoding;
@end

ที่ไฟล์ NSString+URLEncoding.m

#import "NSString+URLEncoding.h"
@implementation NSString (URLEncoding)
-(NSString *)urlEncodeUsingEncoding:(NSStringEncoding)encoding {
return (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,
(CFStringRef)self,
NULL,
(CFStringRef)@"!*'"();:@&=+$,/?%#[]% ",
CFStringConvertNSStringEncodingToEncoding(encoding));
}
@end

การนำไปใช้


NSString *raw = @"hell & brimstone + earthly/delight";
NSString *url = [NSString stringWithFormat:@"http://example.com/example?param=%@",
[raw urlEncodeUsingEncoding:NSUTF8Encoding]];
NSLog(url);

ที่มา: http://madebymany.com/blog/url-encoding-an-nsstring-on-ios

Yii Get MySql Enum Value

Create file EnumData.php put in compoment


class EnumData extends CHtml
{
public static function enumItem($model,$attribute)
{
$attr=$attribute;
self::resolveName($model,$attr);
preg_match('/((.*))/',$model->tableSchema->columns[$attr]->dbType,$matches);
foreach(explode(',', $matches[1]) as $value)
{
$value=str_replace("'",null,$value);
$values[$value]=Yii::t('enumItem',$value);
}

return $values;
}

public static function enumDropDownList($model, $attribute, $htmlOptions)
{
return CHtml::activeDropDownList( $model, $attribute,ZHtml::enumItem($model, $attribute), $htmlOptions);
}
}

his allow you to write in the view (without any change in the model):

or , more tasty:

ที่มา http://www.yiiframework.com/forum/index.php/topic/10079-enum-db-type-in-yii/