Faker를 이용해서 임의 영문 데이타를 생성해서
개인공부 중에 임의 데이타를 한글로 변경하여 DB에 등록했더니
Malformed UTF-8 characters, possibly incorrectly encoded
오류가 났음
JSON 관련 오류인가? 해서 withoutWrapping()
처리도 해봄 -> 아님
public function boot()
{
JsonResource::withoutWrapping();
}
Database 인코딩 문제인가? 확인해보니 utf8mb4 (unicode_ci)
-> 아님
혹시나 해서 PostResource
를 사용 안하고 직접 넘기니 오류가 안났음
그러면 PostResource
을 의심할 수 밖에...
class PostResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
*
* @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
*/
public function toArray($request)
{
return [
'id' => $this->id,
'title' => $this->title,
'content' => substr($this->content, 0, 50).'...',
'created_at' => $this->created_at->toDateString(),
];
}
}
아항~ substr()
이구나~~
mb_substr()
으로 변경 후 오류 해결.
늘 그렇지만 오류는 알고 나면 간단한 것이었지.