Mysql ν•œκ΅­μ–΄ encoding

Mysqlκ³Ό ν•œκΈ€μ„ 같이 μ‚¬μš©ν–ˆμ„λ•Œμ˜ λΆˆνŽΈν•¨

June 27, 2024

νŒŒμΌμ„ μ €μž₯ν• λ•Œ 무쑰건 UTF-8 포멧으둜 μ €μž₯을 ν•˜λŠ”κ²Œ μ’‹μŒ.

ν•œκ΅­μ–΄ 파일 μ €μž₯μ‹œ 파일λͺ…이 UTF-8이 μ•„λ‹Œ Unicode NFD λ²„μ „μœΌλ‘œ μ €μž₯이 λœλ‹€κ³  함 (commonly used in macOS filesystem). 좔후에 ν•œκ΅­μ–΄ 검색을 해도 맀칭이 λ˜μ§€ μ•ŠμŒ.

μ˜ˆμ‹œ:

php

1$file = $request->file('uploads');
2$originalFileName = $file->getClientOriginalName();
3
4// Convert the filename to UTF-8 encoding
5/// ν•œκ΅­μ–΄ κ²€μƒ‰μ‹œ 파일λͺ…이 UTF-8이 μ•„λ‹Œ Unicode NFD λ²„μ „μœΌλ‘œ μ €μž₯이 λœλ‹€κ³  함 (commonly used in macOS filesystem).
6/// 좔후에 ν•œκ΅­μ–΄ 검색을 해도 맀칭이 λ˜μ§€ μ•ŠμŒ.
7if (class_exists('Normalizer') && Normalizer::isNormalized($originalFileName, Normalizer::FORM_C) === false) {
8 $fileName = Normalizer::normalize($originalFileName, Normalizer::FORM_C);
9} else {
10 $fileName = $originalFileName;
11}
12
13$fileSize = $file->getSize();
14
15$log = MasterRightsUploadLogs::create([
16 'file_name' => $fileName,
17 'file_size' => $fileSize,
18 'user_id' => auth()->user()->id,
19 'status' => 'processing',
20]);

Invely's